yacc
-
(bkz: lex)
-
berkeley yacc, mks yacc, bison, abraxas yacc gibi, konsepti sabit kalmis ama ufak eklentiler yapilmis surumleri mevcut olan parser generator.
-
bottom up derleyici dizayn aracı. top down yaklaşımlar için önerilen: antlr.
(bkz: bottom up)
(bkz: bottom up design) -
unix sistemlerde standart olarak sunulan parser generator. backus–naur form'a* uygun olan kurallarınızı lexical anaylzer'dan**** gelen tokenlara göre parse eder. at&t'de yaratılmış olan ilk versiyonu c kodu üretir. zaman içerisinde farklı geliştiriciler tarafından ml, ada, java kodu üreten versiyonları geliştirilmiştir.
-
yacc'in kendisi de yacc ile yazilmistir. *, *
tek yaptığı herhangi bir dilin verilen bnf gramerine uyup uymadığıdır. ufak tefek hesap makinesi dili vb falan yazılabilir ama compiler gibi öte bir olay değildir. çok abartmamak lazımdır.
-v parametresiyle verbose edip çıkan y.output dosyasından parser için nasıl bir state machine geliştirdiğine şahit olabilirsiniz. *
shift/reduce, reduce/reduce gibi conflict'leri vardır. shift/reduce durumlarında supress warnings derseniz çenesini kapar ve shift yapmayı tercih eder. ama kapatmayın, warningler candır.
rule is never read alıyorsanız definitions kısmında start: statement_list; gibi bir ifade veriniz.
edit: elbette ilk sürümü kendisiyle yazılmamıştır. (sethi bildirdi.) -
ks. yet another compiler compiler
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap