[发明专利]一种将TTCN-3脚本转换为Java源代码的方法,装置和系统有效
申请号: | 201210400741.X | 申请日: | 2012-10-19 |
公开(公告)号: | CN102929680A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 周毅;邹志斌;李璐璐;冉正 | 申请(专利权)人: | 普华基础软件股份有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京同辉知识产权代理事务所(普通合伙) 11357 | 代理人: | 王道川 |
地址: | 200233 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ttcn 脚本 转换 java 源代码 方法 装置 系统 | ||
技术领域
本发明涉及到计算机脚本编译领域,具体涉及一种将TTCN-3脚本转换为Java源代码的方法和装置。
背景技术
TTCN-3(Testing and Test Control Notation version 3,测试及测试控制表达法-3),是一种国际标准化的测试准用开发编程语言,专用于各种测试。典型的应用领域为系统测试、交互性测试、协议测试、业务测试、服务测试、模块测试等。例如,可以通过TTCN-3进行移动和互联网协议测试,基于平台的CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)测试、API(Applicat ion programming interface应用编程接口,)测试以及用于描述AUTOSAR(汽车开放系统架构,Automotive OpenSystems Architecture)标准的基础软件模块的符合性测试等等。
要运行TTCN-3测试脚本,需要对应的TTCN-3编译器。通常,编程语言的编译器是将语言直接翻译为目标机可执行代码或是目标虚拟机上的可执行代码。但是,TTCN-3编译器主要采用的实现方法却是将TTCN-3语言转化为某一类可编译的高级语言(如Java,C++等),然后再利用第三方编译器获取可执行文件。这种方式虽然牺牲的一定的编译效率,但是利用已存在的高级语言,可以简化代码生成以及后端代码优化工作,极大减小编译器开发的难度。
目前已知的编译器都是商业编译器,售价昂贵,虽然功能强大,但是在实际情况中,并不需要编译器支持完整的TTCN-3语法。例如在AUTOSAR V4.0附带的测试脚本里,就并未使用基于消息的通信方式。因此,在语法元素集合相对缩小的情况下,根据可以根据被编译脚本所使用的TTCN-3语法,自己构建一套代码转换方案。由于语法元素仅是完整TTCN-3语言的一个子集,自我设计的难度和复杂度也会相应减少,基于此方法实现的转换功能具有较高的性价比。
发明内容
本发明的目的是提供了一种将TTCN-3脚本转换为Java源代码文件的方法、装置及系统,通过本发明,能够保证转换后代码语义完全符合标准TTCN-3的语义规定,进一步转换后的Java源代码能够直接被Java编译器编译为字节码。
本发明公开了将TTCN-3脚本转换为Java源代码的方法,包括:
构建TTCN-3脚本的翻译器;
所述翻译器将所述TTCN-3脚本按照预定义的翻译规则进行翻译,转换成Java源代码;
结合所述翻译规则,构建运行Java源代码所需的支持库;所述支持库实现翻译中引用到的基础类;
配置Java源代码的执行入口,获取Java源代码的可执行文件。
优选的,所述TTCN-3脚本按照预定义的翻译规则进行翻译,转换成Java源代码包括对TTCN-3脚本进行词法分析和语法分析,所述词法分析和语法分析进一步包括以下步骤:
校验和修正所述TTCN-3脚本中词法和语法的错误,分析词法和语法结构,生成语法树;
对语法树进行扫描,进行语义分析;
扫描经过语义分析的语法树,生成相应的Java源代码。
优选的,所述翻译器进一步包括步骤:记录TTCN-3脚本文件代码中的符号,提供符号表的检索、引入操作。
此外,所述语义分析包括对TTCN-3脚本中的代码进行语义检查,关联所述TTCN-3脚本中的代码中的符号,存储生成Java源代码所需要的信息,为生成Java源代码做准备。
翻译器对TTCN-3脚本文件进行词法分析以及语法分析是借助于JavaCC以及JJTree工具,通过编写符合BNF范式的文件来实现,所述BNF范式可根据需求进行剪裁。
其中,语义分析按照一定的顺序执行:对于输入TTCN-3脚本文件的模块A,首先判断A是否已经被分析过;若是则结束对A的语义分析,若否则检查A中存在的每一个可能的引入B;若B被分析过,则将B中所有的所有符号引入到当前模块的符号表中;若B未被分析过,则先对B进行语义分析,再将B中所有的所有符号引入到当前模块的符号表中;当对A中存在的每一个可能的引入B检测完毕后,在对A进行语义分析,并标识A为分析过,结束对A的语义分析。
本发明还公开了一种将TTCN-3脚本转换为Java源代码的装置,其特征在于,包括:
翻译器构建模块,构建TTCN-3脚本的翻译器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于普华基础软件股份有限公司,未经普华基础软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210400741.X/2.html,转载请声明来源钻瓜专利网。