- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用ANTLR生成C描述的分析程序1
鹏ANT壤生成c++描述硇箍簿酾
亨 君
Toolfor
摘 要 ANTLR(ANother
Language
序(以下简称分析器)生成工具。其生成的分析器默认使用Java描述,而不是更高效的
C++描述的分析器的方法,并给出了一个实例。最后,本文对ANTLR本身做出了一
点改进。
关键词 ANTLR,语法分析器,语法分析器生成工具
地介绍其中的具体步骤。
一、ANTLR简介
分析器的自动生成一直是编译理论研究的一个方向。早期
的程序员手工编写分析器,不但费时费力,而且编写的分析器不
稳定、不易修改和移植。在自动化大潮冲击之下,越来越多的程
序员抛弃了这种手工做法。
由旧金山大学的TerenceParr领导开发的ANTLR(以前叫
的机器已经安装JDK,并正确设置了classpath。
Tool
Constmction
做PCCTs,PurdueCompikr set,普渡大学编译
二、文法文件
器构建工具集)是一种分析器自动生成工具,它可以接受语言的
文法描述,并能产生识别这些语言的程序。而且我们可以在文 文法就是语言识别的规则。它是ANTLR生成程序的依据。
法描述中插入特定的语义动作,告诉ANTLR怎样去创建抽象语
法树(AST)和怎样产生输出。 口。
现在ANTLR越来越流行(有评论说ANTLR的出现是一个文法文件的编写基本是面向被解决的问题的。程序员只需
里程碑),不仅因为它功能更强、容易扩展、开源,而且ANTLR生要集中精力思考解决问题的逻辑,而不是羁绊于某种程序设计
成的代码和使用递归下降方法(手工生成分析器的主要方法)生 语言的实现细节,因此降低了出现错误的可能性。
成的代码很相似,易于阅读理解。与之相比,另外一种著名的分 1.文法文件的语法
Another
析器生成工具YACC(YetCompiler—Compiler,基于LR本文只是简单地介绍一个文法文件的语法,具体内容可以
分析方法)生成的程序就比较晦涩。 参阅ANTLR的相关文档。
目前国内介绍ANTLR的文章不多,仅有的文章也是介绍使
用ANTLR生成使用Java描述的分析器。其实ANTLR也可以生
最为重要的是规则和token的定义。
成C++描述的源程序(从2.7.3版本开始,ANTLR开始支持
C#,将来还会支持P)『thon),不过需要一些准备工作。本文将详细 规则的定义形式和编译理论中的扩展巴科斯范式(EBNF)
祭gV零譬强撰祭祭a滓祭苫峪笞潍零葛啦昏譬毯祭苔啦潞苔潍笞啦爵苔屹萍g峪孪啦雾塔氧牙潍零祭g屿莽若譬雾壤风牙啦器g譬雾茜氧努毡孓a器
社.1990
参考文献
3.王清辉,王彪.Visual
AutoCAD2000
1.张国宝 VBA开发技术【M]北京清华大 【M]北京:机械工业出版社,2003
学出版社,2000 (收稿日期:2004年8月23目)
2.何援军 计算机图形学算法和实践【M]湖南科学出版
黪淼与i巍岭
万方数据
。罐
极为相似,包括规则名、规则体、一个用作结束标志的分号和异
您可能关注的文档
- 全自动白酒灌装机特点及白酒灌装机操作常识.doc
- 全国通信专业技术人员执业水平考试参考用书通信专业综合能力中级练习及答案.pdf
- 全自动铁皮破碎机汽车破碎机生产线.doc
- 全自动调速切菜机和660型切菜机价格.docx
- 全面覆盖200、300、400全系列不锈钢的特性与用途.docx
- 全要素生产率增长收敛抑或发散.pdf
- 全集成船舶主机遥控系统的研究及实现.pdf
- 八下11单元导学案.doc
- 八下第十一章分节练习.doc
- 全面水力平衡欧文托普平衡阀选型样册.pdf
- 5月每日一练题目练习.docx
- 基于java的千城外卖系统.docx
- 基于Springboot的房屋租赁系统的设计与实现(1).docx
- 初中信息技术教学现状分析与对策.docx
- 初中学困生学习的认知因素、社会因素对学习动力的影响.docx
- 初中学生创新能力培养策略探讨.docx
- 中考语文复习专题18议论文阅读(解析版) .docx
- 专题2《西游记》综合题解析版中考语文名著阅读知识(考点)梳理.docx
- 2025高考历史大题集训(新高考通用)大题06 史学研究类(琢典例+悟技能+刷变式)(原卷版).pdf
- 2025高考历史大题集训(新高考通用)大题06 史学研究类(琢典例+悟技能+刷变式)(原卷版).docx
文档评论(0)