4、 (1)、(3)
2626 = 676
26+2636+263636 = 34678
文法题:
写出文法的最左最右推导
写出文法推导句子时的短语句柄
判断是否是二义性文法
化简文法
构造某一文法的等价右线性文法、根据转换图写出其右线性文法
5、文法是什么?怎么根据语言产生文法?
语言的运算都有什么?分别是什么?(并、连接、闭包、正闭包 )
LUM = {s|s属于L或s属于M}。其他都会。
6、最左推导
看看最左推导是什么。答案怎么写。
7、二义性文法的做题步骤
证明:1.先写出各非终结符能推出啥。然后举个实例。
8、最右推导、短语、句柄
有重复的也要写。(给每个标上序号)
9、三型文法、状态转化图画法
逗号。
特征:任意b开始,后面跟个a,然后是任意a,后面又跟个b,然后后面又是任意a,b个子串。
3型文法:就是正规文法,也是右线性文法
有限自动机(不确定的有限自动机、确定的有限自动机)
不确定的有限自动机确定化、最小化
识别正规语言的DFA(写出正规语言的确定的有限自动机)
10、NFA确定化,最小化
11、带空边的确定化
12、最小化
13、构造识别正规语言的DFA
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)文法
1确实已化简也没左递归。但是不符合第2条的第一个。
15、构造LL(1)文法
构造LL(1)文法其实就是 消除左递归
分析表要求 First集
16、LR(0)项目
什么LR(0)项目?右部某位置有 · 的产生式。
规约项目:点在最后。
接受项目:点在最后,左部是开始符号
移进项目:点后面是终结符
待约项目:点后面是非终结符。
拓广文法就是在所有产生前面加了个 S` -> S
项目集规范簇:就是项目集的全体。
17、判断是哪类LR()文法
18、判断是否是SLR(1)文法。
判断是不是,就判断是否有冲突,有啥冲突。
算Follow()集的时候,要合理运算。
找归约的Follow集和移进下一个终极符构成的集合之间是否有冲突。注意是规约的Follow集。
19、构造LR(1)分析表
构造LR分析表:和之前一样。先写出拓广文法。拓广文法生成NFA。只不过在这个过程里需要写搜索符。完成之后,再写分析表。写完之后,再根据分析表写分析过程。
难点在于等价项目的后缀怎么写。