Syngram Helper實驗:讀入文法文件動態生成語法分析器
我們知道Yacc和Bison都是產生C++的代碼作為編譯器的前端的。但是有時候我們需要動態地產生一個編譯器前端,極端一點講,譬如“文法調試器”。調試器總不能動態生成.y文件,讓yacc編譯,讓gcc再度編譯,然后execute,最后將程序的輸出結果讀進來。這樣就太麻煩了,于是我們需要重新寫一個生成編譯器前端的程序。
項目實驗1:將算法與數據結構分開 這個實驗展示了使用代碼生成器生成語法樹數據結構的【維護的可能性】。
項目實驗2:動態生成編譯器前端 這個實驗展示了Syngram的兩個作用:可以寫出漂亮的分析器代碼、動態產生分析器。
浙公網安備 33010602011771號