编译原理:文法与语法分析基本概念
2017-04-29 16:42
731 查看
编译原理:文法与语法分析基本概念
语法分析
语法分析器的输入是词法分析后的结果——Token序列。每当调用一次词法分析器将读出一个单词,并将其Token表示回送给语法分析器。语法分析器的输入单位可视为一个Token。 语法错误类型:
起始单词错,包括程序、声明、语句表达式、变量等语法单位的起始单词错误。
后继单词错,包括程序、声明、语句表达式、变量等语法单位的起始单词错误。
标识符和常量单词错。
括号类错误,括号不配对错。
运算符错。
分隔符错。
语法分析方法:
分为两大类:自顶向下分析和自底向上分析。
文法和文法分析
产生式:产生式是一个二元组(U,β),通常写成:U::=β 或者 U→β 其中U是符号,β是符号串。
符号串:是符号的有限序列。如果∑{a,b,c,...},则a、ab、ca等都是字母表上的符号串。符号串也称为字。特别用Λ或ϵ来表示空符号串。
非终极符:可以出现于产生式左部和右部的符号。
终极符:只出现于产生式右部的符号。
文法
作用:定义程序的语法结构。一般用G表示,G=(VT,VN,S,P)
其中,
VT:有限的终极符集
VN:有限的非终极符集
S:文法的开始符,S∈VN
P:产生式的有限集
语言
文法中的产生式给出了从开始符号出发产生所有合法(符合语法)终极符串(句子,程序)的推导规则。每步的推导过程是将句型中的任一非终极符替换为以该非终极符为左部的产生式右部。句型:如果有S⟹∗β,则称β为所论文法的句型。
句子:不包含非终极符的句型。
语言:文法G所定义的语言是开始符可导出的所有句子的集合。
相关文章推荐
- 编译原理手记05-文法和语法分析中一些概念的解释
- 编译原理语法分析之文法的相关概念
- 编译原理学习笔记01——(通过老外吃中餐—学最基本文法概念)——2014_1_11
- 【编译原理】简析文法分析,语法分析
- 编译原理中四种文法语言的基本概念
- ION基本概念介绍和原理分析
- 编译原理语法分析
- 编译原理_常量定义语句语法分析
- 编译原理_常量定义语句语法分析
- ION基本概念介绍和原理分析
- 吉首大学_编译原理实验题_基于预测方法的语法分析程序的设计【通过代码】
- 编译原理之词法分析、语法分析、语义分析
- 关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码
- 【编译原理】用Yacc做语法分析
- 编译原理实习(应用预测分析法LL(1)实现语法分析)
- 编译原理文法分析【已解决】
- GCC Coverage代码分析-GCC插桩基本概念及原理分析
- 编译原理之LL(1)文法分析(使用分析表)
- ION基本概念介绍和原理分析
- 编译原理语法分析LR1