C编译器剖析_1.2_分析器的构造方法

本文详细介绍了C编译器中分析器的构造方法,通过递归定义阐述了文法规则,包括加减乘除运算符的优先级、if和while语句、复合语句及表达式语句的结构。同时,解析了声明Declaration的相关产生式,揭示了数组和指针声明的语法特性。分析器的构造遵循识别非终结符和终结符的原则,为后续深入理解C编译器奠定了基础。
摘要由CSDN通过智能技术生成

1.2 分析器的构造方法

在1.1节中,我们讨论了语言、集合、文法和递归这几者之间的关系,在1.1节的末尾

给出了图1-2。为了阅读方便,这里把该图再列出如下

         Program  ----->  CompoundStatement

         Statement --> IfStatement | WhileStatement|CompoundStatement|ExpressionStatement

         IfStatement   ----->  if ( expression) Statement

         IfStatement   ----->  if ( expression) Statement else Statement

         WhileStatement  ----->  while(expression) Statement

         CompoundStatement  ----->  { StatementListopt}

         StatementList   ----->   Statement     |  StatementList   Statement 

         ExpressionStatement  ----->   id =  Expression ;

         ExpressionStatement  ----->   Declaration ;

         Expression   ----->  AdditiveExpression

         AdditiveExpression  ----->  MultiplicativeExpression

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值