- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 语法分析(自上而下分析法)
第五章 语法分析
—— 自上而下分析法
周开来
西南林业大学计算机与信息科学系
本章内容
语法分析的任务与分类
自上而下分析面临的问题
递归下降分析程序构造
预测分析程序
LL(1)文法
文法知识回顾:
上下文无关文法的定义:
一个上下文无关文法G是一个四元式
G=(V ,V ,S,P),其中
T N
V :终结符集合(非空)
T
V :非终结符集合(非空),且V ∩V ∅
N T N
S:文法的开始符号,S∈VN
P:产生式集合(有限),每个产生式形式为
P→α, P∈V , α ∈ (V ∪V )*
N T N
开始符S至少必须在某个产生式的左部出现一次。
文法知识回顾:
例,定义只含+,* 的算术表达式的文法
G={i,+,* ,(,)},{E},E, P, 其中,P
由下列产生式组成:
E →i
E →E+E
E →E*E
E →(E)
文法知识回顾:
定义:称αAβ直接推出αγβ,即
αAβ⇒αγβ
仅当A →γ是一个产生式,
且α, β∈(V ∪V )* 。
T N
如果α ⇒α ⇒…⇒α ,则我们称这个序列是
1 2 n
从α 到α 的一个推导。若存在一个从α 到α 的推
1 n 1 n
导,则称α 可以推导出α 。
1 n
例:对文法(1)
E ⇒(E) ⇒(E+E)⇒(i+E)⇒(i+i)
+
通常,用 α ⇒α 表示:从α 出发,经过一步或
1 n 1
若干步,可以推出αn 。
*
用 α ⇒α 表示:从α 出发,经过0步或若
1 n 1
干步,可以推出αn 。
* +
所以 : α⇒β 即 α β 或 α⇒β
定义:假定G是一个文法,S 是它的开始符号。
*
如果 S ⇒ α ,则α称是一个句型。仅含终结
符号的句型是一个句子。文法G所产生的句子的
全体是一个语言,将它记为 L(G)。
+
*
L ( G ) {α | S ⇒ α , α ∈ V T }
一、 语法分析器的任务与分类
1.语法分析的任务
在词法分析识别出单词符号的基础上,分析判定程序
的语法结构是否符合语法规则。
对于任意给定的w∈VT*,判断w ∈L(G)
语言的语法结构是用上下文无关文法描述的,因此语
法分析器
文档评论(0)