编译器设计:文法与LL(1)
2016-11-22 16:18
274 查看
根据形式语言理论的创立者乔姆斯基(Chomsky)的定义,形式语言的文法分为四种:
0型文法
G=(Vn,VT,P,S),如果产生式α→β中,α∈(VN⋃VT)∗且至少有一个非终结符,β∈(VN⋃VT)∗,那么G就是一个0型文法。
1型文法(上下文相关文法)
在0型文法的基础上,规定对每一个α→β,都有|β|≥|α|
2型文法(上下文无关文法)
在1型文法的基础上满足每一个α→β中α为非终结符。
3型文法
在2型的基础上满足右线性或者左线性。
0型文法
G=(Vn,VT,P,S),如果产生式α→β中,α∈(VN⋃VT)∗且至少有一个非终结符,β∈(VN⋃VT)∗,那么G就是一个0型文法。
1型文法(上下文相关文法)
在0型文法的基础上,规定对每一个α→β,都有|β|≥|α|
2型文法(上下文无关文法)
在1型文法的基础上满足每一个α→β中α为非终结符。
3型文法
在2型的基础上满足右线性或者左线性。
LL(1)文法
第一个L指Left to right,第二个L指Leftmost derivation),数字1表示需要向前看1个字符才能确定用哪一个产生式。相关文章推荐
- 编译原理 LL1文法First集算法实现
- 编译原理(五) LL(1)文法分析法(预测分析表的构造算法C++实现)
- 编译原理之LL(1) 、LR(0)、SLR、LR(1)、LALR文法的对比
- 编译原理之LL(1)文法分析(使用分析表)
- 编译原理之ll(1)文法判断和左递归问题
- 编译原理(六) LL(1)文法分析法(分析过程的C++实现)
- 【编译原理】LL1文法语法分析器
- 编译作业——LL(1)文法的语法分析器
- 编译原理(五) LL(1)文法分析法(预测分析表的构造算法C++实现)
- 编译原理:first集合和follow集合的求法及LL(1)文法判定
- 编译原理:LL(1)文法 语法分析器(预测分析表法)
- 编译原理FIRST集、FOLLOW集、SELECT集求法通俗解释 & LL(1)文法判定
- 【编译原理】LL(1)文法分析全过程(FIRST/FLLOW/SELECT集等)实现(c++语言)
- 编译原理(六) LL(1)文法分析法(分析过程的C++实现)
- 编译原理:LL(1)文法 语法分析器(预测分析表法)
- 编译原理LL(1)文法实验报告
- 编译原理中LL(1)文法求FIRST集和FOLLOW集的方法
- 编译原理实验4——LL(1)文法分析
- 编译原理LL(1)文法
- [论文]基于C++的虚拟机构造技术及其编译系统的研究与设计 (小型篇)