python語言實(shí)現(xiàn)算符優(yōu)先分析
2023-06-01 23:43 作者:風(fēng)勉八八 | 我要投稿
實(shí)現(xiàn)了編譯原理中對算符文法的分析表的構(gòu)造和句子的識別。
實(shí)現(xiàn)了對分析表的壓縮(bell有向圖和‘逐次加一法構(gòu)造)
輸入:
productions:使用《計算機(jī)編譯原理》第三版,張幸兒主編的這本教材中的示例文法G5.3[Z]。
sentences:自己輸入匹配文法的句子即可,本例用chatgpt生成。
輸出:
算符優(yōu)先關(guān)系矩陣
優(yōu)先關(guān)系函數(shù)
B矩陣
B*矩陣
句子判斷結(jié)果
使用了額外的python包:?tabulate,用于格式化輸出矩陣。
如有任何問題,歡迎私信交流。
代碼如下:
其中:
grammar.txt 內(nèi)容為:
Z->E
E->E+T|T
T->T*F|F
F->(E)|i
代碼運(yùn)行結(jié)果如下:


值得說明的是這個方法生成的優(yōu)先函數(shù)并不唯一。





至此文本結(jié)束。
標(biāo)簽: