使用分析器生成器.pptVIP

  • 2
  • 0
  • 约小于1千字
  • 约 13页
  • 2018-09-30 发布于湖北
  • 举报
编译原理 使用分析器的生成器 授课:胡静 YACC简介 YACC:Yet Another Compiler Compiler YACC规格说明 YACC规格说明——YACC源程序 说明部分 翻译规则 辅助过程 说明部分 %% 翻译规则 %% 辅助过程 YACC规格说明 Parser Generator——Project-ParserWizard YACC规格说明 YACC规格说明 YACC规格说明 YACC规格说明 YACC规格说明 LR语法分析器的结构 一个LR分析器实质上是一个带先进后出存储器(栈)的确定有限状态自动机。 LR语法分析器分析过程举例 YACC中的冲突 YACC可以指出移进-归约冲突和归约-归约冲突默认情况下: 移移进-归约冲突中选择移进 归约-归约冲突中选择先出现的规则来归约 Thanks for your time! Questions Answers * * YACC程序 程序语言的YACC规范说明 程序语言语法分析器 程序语言语法分析器 输入串 语法树 用%{和%}括起来的部分是C语言程序的正规说明 说明翻译规则和辅助过程里使用的变量和函数的类型 形如 左部→候选1|候选2|…|候选n| 的产生式,在YACC规格说明里写成 左部:候选1{语义动作1} |候选2{语义动作2} …… |候选n{语义动作n} ; E→E+T|T T→T*F|F F→(E)|digit 文法G: (1)E ? E+T (2)E ? T (3)T ? T*F (4)T ? F (5)F ? (E) (6)F ? i r5 r5 r5 r5 11 r3 r3 r3 r3 10 r1 r1 r7 r1 9 S11 S6 8 10 S4 S5 7 3 9 S4 S5 6 r6 r6 r6 r6 5 3 2 8 S4 S5 4 r4 r4 r4 r4 3 r2 r2 S7 r2 2 acc S6 1 3 2 1 S4 S5 0 F T E # ) ( * + i GOTO ACTION 状态 优先级升高 *

文档评论(0)

1亿VIP精品文档

相关文档