1.构造正规式的DFA。

例:1(0|1)*101
首先构造NFA
编译原理期末复习总结
NFA化为DFA:
状态转换表:
编译原理期末复习总结编译原理期末复习总结
编译原理期末复习总结

2.正规式转成正规文法。

例 :将r=a(a|d)*转换成相应的正规文法
编译原理期末复习总结

3.正规文法转成正规式。

例:文法G[S]
S→aA
S→a
A→aA
A→dA
A→a
A→d
解:
编译原理期末复习总结

4.正规文法转成有穷自动机。

例:文法G[S]
S → aA
S → bB
S → ε
A → aB
A → bA
B → aS
B → bA
B → ε
解:
编译原理期末复习总结

5.带标注的语法分析树。

综合属性:从下往上
继承属性 :从上往下

例: 对于语言 编译原理期末复习总结,我们还可以设计一个含有继承属性的属性文法作为语义计算模型(开始符号为 S):
S →ABC { B.in_num := A .num;C.in_num := A .num;
if (B.num=0 and (C.num=0)
then print (“Accepted!”)
else print (“Refused!”) }

A → A1a { A.num := A1 . num + 1 }

A → a { A.num := 1 }

B → B1b { B1 . in_num := B.in_num;
B.num := B1 . num -1 }

B → b { B.num := B.in_num -1 }

C → C1c { C1 . in_num := C.in_num;
C.num := C1.num -1 }

C → c { C.num := C.in_num -1 }

这个属性文法既包含综合属性,又包含继承属性。其中,A . num,B . num 和 C . num 是 综合属性,而 B . in_num 和 C . in_num 是继承属性。
输入串 aaabbbccc
编译原理期末复习总结

6.将程序划分为基本块,并画出程序流程图。

编译原理期末复习总结编译原理期末复习总结

7.DAG图的构造过程。

编译原理期末复习总结
编译原理期末复习总结编译原理期末复习总结编译原理期末复习总结编译原理期末复习总结
编译原理期末复习总结编译原理期末复习总结编译原理期末复习总结
编译原理期末复习总结编译原理期末复习总结编译原理期末复习总结

8.编译过程和编译程序的结构

编译原理期末复习总结

9.判断是否为LL(1)文法

Select集合:有First()就写First()里面的元素,如果First()为空,则用Follow()集合里面的元素。
编译原理期末复习总结
编译原理期末复习总结

10.LR(0)分析表

消除左递归:
编译原理期末复习总结
提取公因子:
编译原理期末复习总结
例:已知文法G[S],求其LR(0)的分析表。
S → aA | bB
A → cA | d
B → cB | d
编译原理期末复习总结编译原理期末复习总结编译原理期末复习总结

11.LR(0)分析过程

例:设有文法G[S]:
(1)S→aAcBe
(2)A→b
(3)A→Ab
(4)B→d
对输入串abbcde使用移进-归约的方法分析它是否为上述文法的句子
编译原理期末复习总结编译原理期末复习总结

12.SLR(1)分析法

SLR(1)的分析过程与LR(0)的分析过程完全一样, 唯一不同的是分析表!
编译原理期末复习总结编译原理期末复习总结

13.LR(1)分析法

编译原理期末复习总结编译原理期末复习总结
编译原理期末复习总结编译原理期末复习总结

14.LALR(1)分析法

在LR(1)项目集规范族基础上,合并同心集.
编译原理期末复习总结编译原理期末复习总结
编译原理期末复习总结编译原理期末复习总结
编译原理期末复习总结编译原理期末复习总结
编译原理期末复习总结编译原理期末复习总结

15.语法分析方法

编译原理期末复习总结

16.乔姆斯基层次

编译原理期末复习总结
L0:0型文法又叫非限制文法或短语结构文法。
L1:1型文法又叫上下文有关文法。
L2:2型文法又叫上下文无关文法。
L3:3型文法又叫正规文法。

17.状态转换图转成正则表达式

公式:
编译原理期末复习总结
编译原理期末复习总结
答案:(010|1)*

18.NFA和DFA的三种表现形式

NFA和DFA都是都是有穷自动机,有穷自动机三种表示形式:
数学定义、状态转换图、状态转移矩阵。

19.文法与语言的关系

文法对应的语言唯一,语言对应的文法不唯一。

相关文章: