用于消除语法分析冲的YACC文法变换模式.docVIP

  • 3
  • 0
  • 约 9页
  • 2016-08-18 发布于贵州
  • 举报

用于消除语法分析冲的YACC文法变换模式.doc

用于消除语法分析冲的YACC文法变换模式

用于消除语法分析冲突的YACC文法变换模式 摘要:YACC是Unix/Linux上一个用来生成编译器的编译器(编译器代码生成器)生成的编译器主要是用C语言写成的语法解析器(Parser),需要与词法解析器Lex一起使用,再把两部份产生出来的C程序一并编译。本来只在Unix系统上才有,但现时已普遍移植往Windows及其他平台(Yet Another Compiler Compiler)是美国贝尔实验室著名的编译程序生成系统,用于开发以字符流输入的,语法制导的软件,如计算机语言的编(翻)译程序、解释程序、程序理解和白盒测试工具、语法制导的编辑器等近年来许多利用YACC的开发工作均指出了消除语法分析冲突的困难性,如开发C/C++程序理解工具的前端_2 J、Fortran95至C++的翻译程序、测试及测试控制标记语言TTCN-3的语法分析程序L4 J、硬件描述语言VHDL的分析程序等.本文借鉴软件设计模式的研究方法,总结出7个用于消除语法分析冲突的文法变换模式.下面介绍文中用到的几个基本概念和有关约定. 一、概念和约定 在本文中,术语“YACC”代表采用u也R(1)分析方法的一大类语法分析程序生成系统,包括贝尔实验室的YACC[“、自由软件基金会(GNU)的BiSo一6 J及它们的所有变体,乙虬R(1)分析方法属于移进归约分析方法.所谓移进,是指分析栈中移人新的终结符号归约是指用

文档评论(0)

1亿VIP精品文档

相关文档