编译原理
文章平均质量分 86
Forever18tome
这个作者很懒,什么都没留下…
展开
-
编译原理——求文法中每个非终结符的FIRSTVT集合(C++实现)
呢,我们获取产生式右部的非终结符前缀,具体实现在getnotend函数中,比如A->E#E,前缀就是E, A->EE#E,前缀就是EE,然后与栈顶的值比较即可。输入以一行字符串代表一个产生式,我们需要对这个字符串进行处理,把所有的非终结符剥离出来,把所有的终结符剥离出来。我们需要根据A,找到非终结符中A的下标,这才是伪代码中的iA.我们需要根据a,找到终结符中a的下标,这才是伪代码中的ja.(存储终结符)isend={↑,#,(,),*,+,i};首先,函数中的A是产生式左部,a是产生式右部的一部分。原创 2023-05-26 17:17:03 · 665 阅读 · 1 评论 -
编译原理实验二——消除一切文法的左递归(c++实现)
详细解读消除左递归的算法原理,并给出完整代码,注释和解释详细,可耐心阅读原创 2023-05-12 20:33:48 · 4524 阅读 · 4 评论