自下向上分析语法分析方式LR.pptVIP

  • 7
  • 0
  • 约1.36万字
  • 约 76页
  • 2019-12-15 发布于广东
  • 举报
该二义性文法的LR分析表如表7.17所示: 现用表7.17对表达式的输入串i+i*i#分析过程如表7.18所示: 5.9* 语法分析程序的自动构造工具YACC YACC(Yet Another Compiler -Compiler)是20世纪  70年代由Johnson等人在美国Bell实验室研制开发的一  个基于LALR(1)的语法分析程序的构造工具 YACC接受一个用BNF描述的上下文无关语言的语法规  则,且语法满足LALR(1)文法的要求,据其自动生  成相应的LALR(1)分析表,并与它的驱动程序和分  析栈结合构成一个LALR(1)分析器yyparse YACC仅是一个语法分析器的自动生成器,相应的语义  处理程序还需人工编写  YACC还可以处理某些二义性文法的规则 由YACC源程序得到语法分析器需要经过如图7.14两步  完成:  YACC与词法分析程序的接口称为yylex。 通常YACC和词法分析器的自动生成工具LEX联合应用是  一种较好的选择,其工作示意图7.15所示: YACC源程序的组成: 说明部分: 用%{和}%括起的部分说明语义动作中使用的数据类型、  全局变量、语义值和联系类型等 用%开头的说明语法规则中的终结符及运算符的优先级 语法规则部分:由多个候选产生式组成 程序段部分:由完成语义动作的一些函数组成 对YACC源程序中由%{和%}括起的说明部分

文档评论(0)

1亿VIP精品文档

相关文档