编译原理3

141 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第17天,点击查看活动详情

词法分析器的设计

1.输入、预处理,词法分析器工作的第一步是输入源程序文本。输入串一般是放在一个缓冲区中,
这个缓冲区称输入缓冲区。词法分析的工作(单词符号的识别)可以直接在这个缓冲区中进行。
但在许多情况下,把输入串预处理一下,对单词符号的识别工作将是比较方便的。

2.单词符号的识别:超前搜索(关键字的识别;标识符的识别;常数的识别;算符和界符的识别)

3.状态转换图,转换图是一张有限方向图。结点代表状态,,用圆圈表示,状态之间用箭弧连结,箭弧上的标记代表在射出结点状态下可能出现的输入字符或字符类;一张转换图只包含有限个状态(即有限个结点),其中有一个被认为是初态,而且实际上至少要有一个终态(用双圈表示);一个状态转换图可用于识别(或接受)一定的字符串。

正规表达式与有限自动机

正规式与正规集:对于字母表Σi,它的一些特殊字集,即正规集。正规式和正规集的递归定义:1.ε和Φ都是Σ上的正规式,它们所表达的正规集分别为{ε}和Φ;2.任何a∈Σ,a是Σ上的一个正规式,它所表达的正规集为{a};3.假定U和V都是Σ上的正规式,它们所表示的正规集分别为L(U)和L(V),那么,(U|V)、(U.V)和(U)* 也都是正规式,它们所表示的正规集分别为L(U)∪L(V)、L(U)L(V)(连接积)和(L(U))* (闭包)。

正规文法与有限自动机的等价性

(1)对每一个右线性正规文法G或左线性正规文法G,都存在一个有限自动机(FA)M,使得L(M)= L(G)。
(2)对每一个FA M,都存在一个右线性正规文法GR和左线性正规文法GL,使得L(M)=L(GR)=L(GL)。