【编译原理】语法分析

第三章 语法分析

编译器常用的语法分析方法有自上而下自下而上两种。正如它们的名字所示,自上而下分析器按从根结点到叶结点的次序来建立分析树,而自下而上分析器恰好相反。它们的共同点是从左向右地扫描输入,每次一个符号。

最有效的自上而下和自下而上的分析法都只能处理上下文无关文法的子类。这些子类足以描述编程语言的大多数构造和它们的语法特征,其中L文法的分析器通常用手工实现,而LR文法的分析器通常利用自动工具构造。

3.1 上下文无关文法

很多较复杂的语言不能使用正规式表达,所以需要定义描述功能比正规式更强的上下文无关的文法。

终结符: 即记号名。

非终结符: 非终结符用来帮助定义由文法决定的语言,一个非终结符定义终结符串的一个集合。非终结符还在语言中强加了层次结构,这种层次结构对语法分析和翻译都是有用的。

推导: 从开始符号开始,通过使用产生式的右部取代左部,最终能产生语言的一个句子的过程。其中, → \rightarrow

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不牌不改

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值