Şirketimde yirmi bir yıllık tescilli bir dil geliştirmeye yardımcı oldum. Bu, Turing tam bir dildir. Başka bir gramer rejimine (Antlr gibi) tercüme etmek bir seçenek değildir (buna karar veremiyorum).Yacc Dilbilgisi Hata Ayıklayıcıları Var mı?
Çoğunlukla dilbilgisini genişletmek sorunsuz geçti. Ama her bir süre içinde ben
- bazen sadece
(benim zayıf beyine) mantıklı değil
Yani, bir gezinti, deneme ve değişikliklerin hata ayıklamasına izin veren bir yacc dilbilgisinde çekilebilecek herhangi bir araç var mı?
Bir üretim eklesem, "her yerde kullanılan atomik üretimden daha fazlasını görmek istiyorum" (düşün tanıtıcısı) "kural foo ile çakışmalar" (evet, daha fazla bilgi var, s/r, r/r, bundan daha fazla, ama sanırım benim sürüklenmemi aldın. Düşünme kapama koymaktan ve bir sembol yığını ve durum makinesini hayal etmeye çalışmaktan öte etkileşimin bazı ipuçlarına sahip olmak güzel olurdu.
Güncelleme: Sanırım açıklığa kavuşmalıyım. Berkeley Yacc kullanıyoruz. Bison'un son bir sürümünü kullanarak test ediyorum. Çıktı için dilbilgisini --report = itemset ile derledim. Bu yazı ile
Amacım harici araçları augment yacc ile gemi gramer ayıklama tesisleri ararlar etmektir. Bugün varsayılan set ile acı verici. Antlr ile kullanabileceğiniz gibi daha iyi etkileşimli araçlar bulmama yardımcı olun.
Ne demek istediğinden emin değilim. Her iki yaccs ile -d, "jeton makroları için bir başlık dosyası çıkarır" anlamına gelir. Anahtar kullanmanın hakkında daha fazla bilgi ekledim --report = itemset. Bu demek istediğin şey mi? Tüm durum geçiş bilgisiyle dolu bir dosya oluşturur. Onu kullanıyorum ama daha güçlü, etkileşimli bir araç umuyordum. –
Jerry haklı, S/R çatışmalar mutlaka hatalar değildir. Hemen hemen her gerçek dilbilgisi bir demet var. – DigitalRoss