词法分析
词法分析器的自动构造过程:
正规式,正规文法->NFA->DFA->最小DFA
将NFA转换为等价的DFA所用的算法为子集法
在有穷自动机中,两个状态s和t等价的条件是以下两个:
1.一致性条件——同时为可接收状态或为不可接受状态
2.蔓延性条件——对于所有的输入符号,两个状态必须转换到等价的状态里
确定化
以矩阵形式获得,由开始符S开始输入
最小化(DFA->DFA(min))
分为两个集合,一个终态,一个非终态
循环分解集合
语法分析
自顶向下语法分析方法
first集
没有空值的直接就是,有空值的一直走走到不是空值的地方
follow集
select集
预测分析表的构造算法是: ⑴对每个终结符a∈SELECT(A→α),把 A→α填入M[A,a]中; ⑵把所有无定义的M[A,a]均填上“出错标志”。
利用可选集判断文法是否为LL(1)时,展开文法,算出
可开始式的可选集,若交集不为空,则不是。
或者通过预测分析表无多重入口判断。
自底向上语法分析方法
自底向上语法分析方法:
1.优先分析法
2.LR分析法
在自底向上语法分析的过程中,最关键的问题就是如何识别句柄。
规范推导:即最右推导。
规范归约:规范推导的逆过程。
规范句型:由最右推导推导出的句型。
在自底向上的分析过程中,存在两个问题:
移进_归约冲突
归约_归约冲突
短语、直接短语、句柄的定义
【短语】若S=>(*)αAδ且A=>(+)β,则称β是相对于非终结符A的句型αβδ的短语。
【直接短语】若S=>(*)αAδ且A→β,则称β是相对于非终结符A的句型αβ

本文详细探讨了编译原理中的词法分析和语法分析。词法分析涉及正规式到DFA的转换,包括一致性条件和蔓延性条件。语法分析则涵盖了自顶向下和自底向上的方法,重点讲解了first集、follow集、LR分析法以及句柄的概念和求解。在自底向上分析中,识别句柄是关键,句柄是直接短语且具有最左性。
最低0.47元/天 解锁文章
6056

被折叠的 条评论
为什么被折叠?



