【技术实现步骤摘要】
本专利技术涉及到计算机脚本编译领域,具体涉及一种将TTCN-3脚本转换为Java源代码的方法和装置。
技术介绍
TTCN-3 (Testing and Test Control Notation version 3,测试及测试控制表达法-3),是一种国际标准化的测试准用开发编程语言,专用于各种测试。典型的应用领域为系统测试、交互性测试、协议测试、业务测试、服务测试、模块测试等。例如,可以通过TTCN-3进行移动和互联网协议测试,基于平台的CORBA(Common Object Request BrokerArchitecture,公共对象请求代理体系结构)测试、API (Applicat ion programminginterface应用编程接口,)测试以及用于描述AUT0SAR(汽车开放系统架构,AutomotiveOpenSystems Architecture)标准的基础软件模块的符合性测试等等。 要运行TTCN-3测试脚本,需要对应的TTCN-3编译器。通常,编程语言的编译器是将语言直接翻译为目标机可执行代码或是目标虚拟机上的可执行代码。但是,TTCN-3编译器主要采用的实现方法却是将TTCN-3语言转化为某一类可编译的高级语言(如Java,C++等),然后再利用第三方编译器获取可执行文件。这种方式虽然牺牲的一定的编译效率,但是利用已存在的高级语言,可以简化代码生成以及后端代码优化工作,极大减小编译器开发的难度。目前已知的编译器都是商业编译器,售价昂贵,虽然功能强大,但是在实际情况中,并不需要编译器支持完整的TTCN-3语法。例如在AUT0SA ...
【技术保护点】
一种将TTCN?3脚本转换为Java源代码的方法,其特征在于,包括:构建所述TTCN?3脚本的翻译器;所述翻译器将所述TTCN?3脚本按照预定义的翻译规则进行翻译,转换所述成Java源代码;结合所述翻译规则,构建运行所述Java源代码所需的支持库;所述支持库实现翻译中引用到的基础类;配置所述Java源代码的执行入口,获取所述Java源代码的可执行文件。
【技术特征摘要】
1.一种将TTCN-3脚本转换为Java源代码的方法,其特征在于,包括构建所述TTCN-3脚本的翻译器;所述翻译器将所述TTCN-3脚本按照预定义的翻译规则进行翻译,转换所述成Java源代码;结合所述翻译规则,构建运行所述Java源代码所需的支持库;所述支持库实现翻译中引用到的基础类;配置所述Java源代码的执行入口,获取所述Java源代码的可执行文件。2.根据权利要求I所述的方法,所述翻译器将所述TTCN-3脚本按照预定义的翻译规则进行翻译,转换成所述Java源代码包括对所述TTCN-3脚本进行词法分析和语法分析,所述词法分析和语法分析进一步包括以下步骤校验和修正所述TTCN-3脚本中词法和语法的错误,分析词法和语法结构,生成语法树;对所述语法树进行扫描,进行语义分析;扫描经过所述语义分析的所述语法树,生成相应的所述Java源代码。3.根据权利要求2所述的方法,所述翻译器进一步包括步骤记录所述TTCN-3脚本的文件代码中的符号,提供符号表的检索、弓I入操作。4.根据权利要求3所述的方法,所述语义分析需要进行符号查找访问操作,为保证查找到的符号来自于正确的作用域;当进入一个新的符号作用域时建立一个新的作用域对象,并设置为当前的作用域;在退出所述当前的作用域或是所述新的作用域之前,所有新加入的符号将会以双向链表的形式组织起来,并且如果新加入的符号名存在哈希冲突或是同名时,新加入的符号将会覆盖以前的符号。5.根据权利要求2所述的方法,所述语义分析包括对所述TTCN-3脚本中的代码进行语义检查,关联所述TTCN-3脚本中的代码中的符号,存储生成Java源代码所需要的信息,为生成所述Java源代码做准备。6.根据权利要求3或4所述的方法,翻译器对所述TTCN-3脚本进行所述词法分析以及语法分析是借助于JavaCC以及JJTree工具,通过编写符合BNF范式的文件来实现,所述 BNF范式可根据需求进行剪裁。7.根据权利要求5所述的方法,所述语义分析按照顺序执行对于输入所述TTCN-3脚本的模块A,首先判断A是否已经被分析过;若是则结束对A的语义分析,若 否则检查A中存在的每一个可能的引入B ;若B被分析过,则将B中所有的所有符号引入到当前模块的符号表中;若B未被分析过,则先对B进行语义分析,再将B中所有的所有符号引入到当前模块的符号表中;当对A中存在的每一个可能的引入B检测完毕后,在对A进行语义分析,并标识A为分析过,结束对A的语义分析。8.一种将TTCN-3脚本转换为Java源代码的装置,其特征在于,包括翻译器构建模块,构建TTCN-3脚本的翻译器;翻译器,所述翻译器将所述TTCN-3脚本按照预定义的翻译规则进行翻译,转换成Java 源代码;支持库构建模块,结合所述翻译规则,构建运行Java源代码所需的支持库;支持库,所述支持库实现翻译中引用到的基础类;配置编译模块,配置Java源代码的执行入口,获取Java源代码的可执行文件。9.根据权利要求8所述的装置,所述翻译器进一步包括对TTCN-3脚本进行词法分析和语法分析的分析模块,所述进行词法分析和语法分析的分析模块包括词法语法解析模块,校验和修正...
【专利技术属性】
技术研发人员:周毅,邹志斌,李璐璐,冉正,
申请(专利权)人:普华基础软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。