4、 (1)、(3)

image.png
2626 = 676
26+26
36+263636 = 34678

文法题:

写出文法的最左最右推导
写出文法推导句子时的短语句柄
判断是否是二义性文法
化简文法
构造某一文法的等价右线性文法、根据转换图写出其右线性文法

5、文法是什么?怎么根据语言产生文法?

image.png
语言的运算都有什么?分别是什么?(并、连接、闭包、正闭包 )
LUM = {s|s属于L或s属于M}。其他都会。
image.png

6、最左推导

image.png
看看最左推导是什么。答案怎么写。

7、二义性文法的做题步骤

image.png
证明:1.先写出各非终结符能推出啥。然后举个实例。

8、最右推导、短语、句柄

image.png
有重复的也要写。(给每个标上序号)
image.png
image.png

画俩,或者逗号分开一个。

9、三型文法、状态转化图画法

image.png
逗号。
特征:任意b开始,后面跟个a,然后是任意a,后面又跟个b,然后后面又是任意a,b个子串。
3型文法:就是正规文法,也是右线性文法


有限自动机(不确定的有限自动机、确定的有限自动机)

不确定的有限自动机确定化、最小化
识别正规语言的DFA(写出正规语言的确定的有限自动机)

10、NFA确定化,最小化

image.pngimage.png

11、带空边的确定化

image.png

12、最小化

image.png

13、构造识别正规语言的DFA

image.pngimage.png
image.png

LL(1)、LR(0)、LR(1)、SLR(0)、LALR(1)

什么是LL(1)文法,什么是LR(0)、LR(1)、SLR(0)、LALR(1)文法
构造LR(0)项目
构造分析表。

14、判断是否是LL(1)文法

image.png
1确实已化简也没左递归。但是不符合第2条的第一个。

15、构造LL(1)文法

image.pngimage.png
构造LL(1)文法其实就是 消除左递归
分析表要求 First集

16、LR(0)项目

image.png

什么LR(0)项目?右部某位置有 · 的产生式。
规约项目:点在最后。
接受项目:点在最后,左部是开始符号
移进项目:点后面是终结符
待约项目:点后面是非终结符。
拓广文法就是在所有产生前面加了个 S` -> S
image.png
项目集规范簇:就是项目集的全体。

17、判断是哪类LR()文法

image.pngimage.png

18、判断是否是SLR(1)文法。

image.png
判断是不是,就判断是否有冲突,有啥冲突。
算Follow()集的时候,要合理运算。
image.png
image.pngimage.png
找归约的Follow集和移进下一个终极符构成的集合之间是否有冲突。注意是规约的Follow集。

19、构造LR(1)分析表

image.png
构造LR分析表:和之前一样。先写出拓广文法。拓广文法生成NFA。只不过在这个过程里需要写搜索符。完成之后,再写分析表。写完之后,再根据分析表写分析过程。
难点在于等价项目的后缀怎么写。
image.pngimage.pngimage.png

20、LALR(1)文法

image.pngimage.pngimage.png

image.png