基于ANTLR的OPS脚本语法检查的实现.docVIP

基于ANTLR的OPS脚本语法检查的实现.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ANTLR的OPS脚本语法检查的实现

基于ANTLR的OPS脚本语法检查的实现 雒娜 (上海交通大学软件学院 上海 200240) 摘 要:OPS语言是爱立信自行开发的一种脚本语言,用于设备自动化升级。本文阐述了OPS脚本的语法检查工具的开发原理和使用。该工具是结合OPS脚本语言的语法规则,基于ANTLR语法解析器开发出来的,实践证明,它可以大大提高脚本的开发效率,并有效保证脚本质量。 关键词:ANTLR;OPS 脚本语言;语法分析。 The implementation of OPS script syntax check tool based on ANTLR Luo Na (School of Software, Shanghai Jiao Tong University, Shanghai, 200240) 【Abstract】 OPS script language is developed by Ericsson and used internally for automatic product upgrade. This paper elaborates the development and utility of an automatic tool for OPS syntax check. This tool is based on OPS script syntax and ANTLR. After practice, it is proved that this tool can enhance the productivity of developing scripts and secure good quality. 【Key words】ANTLR; OPS script; Parsing. 1.引言 OPS是一种仅限于爱立信公司内部使用的脚本语言,用于支持设备自动化升级。众所周知,C、 C++等高级编程语言是先编译后运行,如果有语法错误,编译时会报错。OPS脚本语言与其他脚本语言类似,最大的特点就是边解释边运行。如果语法错误的代码行在测试期间没有被发现,发行后在运行过程中遇到,那么对于脚本的使用者和客户来说是非常严重的问题。所以长期以来,为了保证脚本的质量,每个项目需要安排大量的测试和代码走查工作。即使这样,也还是不能发现所有的语法错误。为了解决上述问题,本文提出一个自动化工具用于检查OPS脚本的语法错误。 ANTLR- ANother Tool for Language Recongnition, 其主要功能是根据给定语言文法,自动生成编译器,其过程为先编写相应语言的文法,然后生成编译器。目前,ANTLR可以生成包括java、C、C++、C#等多种开发语言的语法分析器[1]。本文正是基于ANTLR的这一功能,编写OPS语言的文法,自动生成java编译器,开发了OPS语法分析器,并在eclipse下运行和使用。经过项目实践检验,该工具可以提高开发效率,保证脚本质量。 2. 基于ANTLR的OPS语法分析器原理 2.1 OPS脚本基本语法介绍 OPS脚本语言包括交换机人机命令和脚本语言的关键字,人机命令发送给交换机,关键字命令如同普通计算机语言一样,完成各种功能,如打印,变量设置,打开文件,写文件,读文件,等等。如果是注释行,以“@@”或者“!”开头。如果是脚本语言的代码行,必须以“@”+ OPS命令,结束没有“;”或者其他结束符。 2.2 ANTLR 原理介绍 ANTLR的官方定义根据一种可以嵌入如JavaC++、C#等辅助代码段的文法,来构筑出相对该文法的识别器 [2] 。编译或翻译是将计算机高级语言编写的源程序翻译成可以在计算机上运行的机器语言的过程,主要包括词法分析,语法分析,语义分析,源代码优化,代码生成和目标代码优化几个过程。ANTLR解决的就是词法分析和语法分析的问题。词法分析是对源程序一个个字符读取,从中识别出标识符、关键字和常量等相对独立的记号(token),形成记号序列或记号流的过程。记号流是语法分析的基础。语法分析是根据词法分析输出的记号流,分析源程序的语法结构,并添加代表语法结构的抽象单词,按照语法结构生成语法树的过程。语法树是用于表示源程序结构的数据结构,其叶子节点就是记号。 OPS语法分析器开发步骤为:1) 根据OPS脚本语言的语法规则,写出ANTLR文法文件Ops.g。 2) 利用 ANTLR的runtime开发环境ANTLRWorks将该文法文件生成目标语言java词法和语法分析代码。3) 开发一个包括main的类,将包导入java开发环境eclipse,运行后得到脚本语法检查的结果。 3. 基于ANTLR的OPS语法分析器实现 3.1 OP

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档