教材使用:
第二章 形式语言理论
基本概念
- 句子:只包含终结符。(基本上就是全部由小写字母组成)
- 句型:推导过程中出现的所有符号串都叫做句型。只包含终结符的句型叫做句子。
- 子树:语法树的某个节点连同他向下射出的部分组成了语法树的子树。
- 简单子树:高度为2的子树叫做简单子树。下面红笔画出来的这两个子树就叫做简单子树。
- 简单短语:高度为2的的子树(就是简单子树0)的叶子节点。像上面这棵树中的DE、F就是简单短语。
- 句柄:最左简单子树末端节点组成的符号串。像上面这颗树,句柄就是DE。
-
如何求短语、直接短语、句柄
句柄:最左直接短语
如何消除左递归
如何判断文法类型
如何根据通式求文法
如何求最左推导和语法树
如何判别二义性和正则文法
如何写出通式
1)S=>aAb=>aAcb=>aAccb=>acccb
2)短语:aAb, Ac,c 句柄:Ac
3)文法G[S]是二义性文法。因为对于句子acccbacccb,存在多种不同的最左推导方式
4)
5)
第三章 自动机理论
如何根据正则文法构造状态转换图
如何将正规式转化为NFA
编译原理正规表达式转NFA到DFA再化简_哔哩哔哩_bilibili
如何将NFA转化为DFA
编译原理正规表达式转NFA到DFA再化简_哔哩哔哩_bilibili
第四章 词法分析
无
第五章 语法分析-自顶向下
如何求FIRST、FOLLOW、SELECT集
如何构造LL(1)分析表
构建LL(1)文法就是消除左递归:LL(1)文法:同一个左侧非终结符其所有SELECT的交集为空
作业讲解--LL(1)分析表构造_哔哩哔哩_bilibili
即求select集
第六章语法分析-自底向上
如何求出FIRSTVT和LASTVT集合
firstvt:找出产生式右部第一个出现的终结符
如何求出文法的优先关系表
如何根据优先关系表给出输入串的分析过程
例题:
如何构造LR(0)
编译原理LR(0)分析表(上)_哔哩哔哩_bilibili
7编译原理构造LR(0)分析表(包含构建项目规范族)_哔哩哔哩_bilibili
如何构造LR(1)
第七章 语义分析及中间代码生成
如何求逆波兰式
就是求抽象树的后序遍历(左右根)
如何求三元式和四元式
将一个运算当做一个():类似于(1)(+,a,b)