c语言ll 1 语法分析器,LL(1)语法分析器的设计与实现

LL(1)语法分析器的设计与实现作者:万能超指导老师:张玉州摘要:语法分析是编译器的核心部分。词法分析只是将字符形式的源程序中的各个单词识别出来,形成单词的机内表示形式,但是这些单词串如何构成更大的语法成分—语句,那就要语法分析来完成。语法分析的主要任务是“组词成句”,即在词法分析识别出单词串的基础上,根据语言的语法产生式,识别出各种类型的句子,如“语句”、“程序”等,并给出这些句子的语法结构。关...
摘要由CSDN通过智能技术生成

LL(1)语法分析器的设计与实现

作者:万能超

指导老师:张玉州

摘要:语法分析是编译器的核心部分。词法分析只是将字符形式的源程序中的各个单词识别出来,形成单词的机内表示形式,但是这些单词串如何构成更大的语法成分—语句,那就要语法分析来完成。语法分析的主要任务是“组词成句”,即在词法分析识别出单词串的基础上,根据语言的语法产生式,识别出各种类型的句子,如“语句”、“程序”等,并给出这些句子的语法结构。

关键词:侯选式、匹配、非终结符、终结符、FIRST集、FOLLOW集

1引言

LL(1)文法是一类可以进行确定的自上而下语法分析的文法。而自上而下分析法的基本思想是从文法的开始符号S出发采用最左推导,试图一步一步地推出输入符号串α。换句话说,也就是以文法的开始符号S为语法树的根部,试图自上而下地为输入符号串(构造一棵语法树。如果能够构造这样一棵语法树:它的叶子结点从左到右排列恰好就是输入串α,则输入串α就是文法的句子,而这个语法树就是句子α的语法结构。如果不存在这样的一棵语法树,则输入符号出串α就不是这个文法的句子。)这种分析过程实质是一种试探过程,是反复使用不同产生式匹配输入符号串的过程。

若有文法

S->cAd

A->ab|a

输入串w=cad。为了自上而下地为这个串建立分析树,首先建立只有标记S单个结点树,输入指针指向w的第一个符号c。然后用S的第一个产生式来扩展该树,得到的树如图所示:

S S S

c A d

c A d c A d

(a)

a b a

(b)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值