第十二次作业-递归下降语法分析
摘要:一、实验目的: 利用C语言编制递归下降分析程序,并对简单语言进行语法分析。 编制一个递归下降分析程序,实现对词法分析程序所提供的单词序列的语法检查和结构分析。 二、实验原理 每个非终结符都对应一个子程序。 该子程序根据下一个输入符号(SELECT集)来确定按照哪一个产生式进行处理,再根据该产生式的右
阅读全文
第十一次作业-LL(1)文法的判断,递归下降分析程序
摘要:1.文法 G(S): (1)S -> AB (2)A ->Da|ε (3)B -> cC (4)C -> aADC |ε (5)D -> b|ε 验证文法 G(S)是不是 LL(1)文法. A->Da A->ε C->aADC C->ε D->b D->ε FIRST集: First(Da) = {
阅读全文
第十次作业-消除左递归
摘要:1.将以下文法消除左递归,分析符号串 i*i+i ,并分别求FIRST集、FOLLOW集,和SELECT集 E -> E+T | T T -> T*F | F F -> (E) | i 解:消除左递归: (1) E->TE' E'->+TE'|ε (2) T->FT' T'->*FT'|ε (3)
阅读全文
第九次作业-DFA最小化
摘要:1.将DFA最小化:教材P65 第9题 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 3.自上而下语法分析,回溯产生的原因是什么? 答:在文法中当关于某个非终结符的产生式有多个候选时,而面临当前的输入符无法确定选用唯一的产生式,从而引起回溯。 4.P100 练习
阅读全文