实现了编译原理中对算符文法的分析表的构造和句子的识别。
实现了对分析表的压缩(bell有向图和‘逐次加一法构造)
输入:
productions:使用《计算机编译原理》第三版,张幸儿主编的这本教材中的示例文法G5.3[Z]。
sentences:自己输入匹配文法的句子即可,本例用chatgpt生成。
输出:
算符优先关系矩阵
优先关系函数
B矩阵
B*矩阵
句子判断结果
使用了额外的python包: tabulate,用于格式化输出矩阵。
如有任何问题,欢迎私信交流。
代码如下:
其中:
grammar.txt 内容为:
Z->E
E->E+T|T
T->T*F|F
F->(E)|i
代码运行结果如下:
值得说明的是这个方法生成的优先函数并不唯一。
至此文本结束。
IT之家 2024-12-27
三言科技 2024-12-27
IT时报 2024-12-27
IT之家 2024-12-27
下饭科技503 2024-12-27
IT之家 2024-12-27
腾讯科技 2024-12-27
三言科技 2024-12-27