编译原理之小记录

本文详细探讨了编译原理中的词法分析和语法分析。词法分析涉及正规式到DFA的转换,包括一致性条件和蔓延性条件。语法分析则涵盖了自顶向下和自底向上的方法,重点讲解了first集、follow集、LR分析法以及句柄的概念和求解。在自底向上分析中,识别句柄是关键,句柄是直接短语且具有最左性。
摘要由CSDN通过智能技术生成

词法分析

词法分析器的自动构造过程:

正规式,正规文法->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分析法

在自底向上语法分析的过程中,最关键的问题就是如何识别句柄。

规范推导:即最右推导。
规范归约࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值