[发明专利]高级语言代码的生成方法及其产生器有效
申请号: | 201110115605.1 | 申请日: | 2011-05-05 |
公开(公告)号: | CN102156655A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 谢峥;王新安;曹颖;陈旭;雍珊珊;王腾 | 申请(专利权)人: | 北京大学深圳研究生院 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 深圳鼎合诚知识产权代理有限公司 44281 | 代理人: | 宋鹰武 |
地址: | 518055 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高级 语言 代码 生成 方法 及其 产生器 | ||
1.一种高级语言代码产生器,其特征在于,包括:
语法配置模块,用于接收输入的电子设计自动化工具的语法支持情况描述信息,并将所述语法支持情况描述信息转换为相应的语法配置表;
控制参数提取模块,用于接收输入的验证或者测试策略的策略级描述信息,并将所述验证或者测试策略的策略级描述信息转化为相应的控制约束表;
高级语言语法库,用于将需要的高级语言的所有语法和词法元素描述进行存储;
语法树生成模块,与所述语法配置模块、高级语言语法库和控制参数提取模块相连,用于根据所述语法配置模块生成的语法配置表,以及所述参数提取模块生成的控制约束表,调用所述高级语言语法库中的语法和词法元素,并生成相应的语法树;
代码生成模块,与所述语法树生成模块相连,用于将所述语法树生成模块生成的语法树转换为相应的可执行高级语言代码文件。
2.如权利要求1所述的高级语言代码生成器,其特征在于,所述代码生成模块还用于根据所述语法树,生成对应于所述可执行高级语言代码文件的高级语言代码特性描述文件,则所述代码生成模块,包括:
代码构建子模块,与所述语法树生成模块相连,用于将所述语法树生成模块生成的语法树进行遍历读取,生成对应的可执行高级语言代码文件;
代码特性提取子模块,与所述代码构建子模块和符合度检测模块相连,用于在所述代码构建子模块遍历读取所述语法树的同时记录产生的可执行高级语言代码的特性,并产生相应的高级语言代码特性描述文件。
3.如权利要求2所述的高级语言代码产生器,其特征在于,当需要特定标注或注释信息时,所述代码构建子模块还用于在标准语言基础上增加其他信息量标注的接口。
4.如权利要求2所述的高级语言代码产生器,其特征在于,还包括:
符合度检测模块,与所述代码特性提取子模块和控制参数提取模块相连,用于根据所述高级语言代码特性描述文件,以及所述控制约束表进行符合度核对,如果所述高级语言代码特性描述文件满足所述控制约束表,则生成相应的符合度报告,并输出所述符合度报告、可执行高级语言代码文件和高级代码特性描述文件;如果所述高级语言代码特性描述文件不满足所述控制约束表时,则根据预先设置的允许的迭代次数,自动调整内部设置,重新生成新的可执行高级语言代码文件。
5.如权利要求1所述的高级语言代码产生器,其特征在于,所述语法树生成模块包括:
子树集生成子模块,与所述语法配置模块、控制参数提取模块和高级语言语法库相连,用于根据所述语法配置表和控制约束表,以高级语言语法库中的语法或者词法元素的类标识或者实例为结点,生成相应的子树集;
子树合并子模块,与所述语法配置模块、控制参数提取模块和子树集生成子模块相连,用于根据所述语法配置表和控制约束表,随机将各子树进行合并,得到新的子树集,合并的条件为将要合并的两棵子树中的一棵子树的根结点与另一棵子树的叶结点类型相同;
总语法树生成子模块,与所述子树合并子模块、语法配置模块和控制参数提取模块相连,用于将得到的新的子树集中结点最多的子树作为主树,其他子树作为附树,并根据所述语法配置表和控制约束表,按照自底向上延展的方向,随机对所述主树和附树进行多轮合并,得到对应的总语法树。
6.如权利要求1至5中任意一项所述的高级语言代码产生器,其特征在于,所述语法配置表包括:语法点支持信息、实现形式约束信息、特殊语法现象约束信息;所述控制约束表包括:程序的流程布局信息、变量使用信息。
7.一种高级语言代码生成方法,其特征在于,包括:
根据输入的电子设计自动化工具的语法支持情况描述信息,生成相应的语法配置表;
根据输入的验证或者测试策略的策略级描述信息,生成相应的控制约束表;
根据所述语法配置表和控制约束表,调用高级语言语法库内的语法和词法元素,并通过语法树构建方法构建相应的语法树;
将所述语法树转换为相应的可执行高级语言代码文件。
8.如权利要求7所述的方法,其特征在于,将所述语法树转换为相应的可执行高级语言代码文件包括:
遍历读取所述语法树,生成相应的可执行高级语言代码文件;
当设定了特定标注或注释信息时,在所述可执行高级语言代码文件中生成对应于所述特定标注或注释信息的高级语言代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学深圳研究生院,未经北京大学深圳研究生院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110115605.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电力线路杆塔电子识别与登杆人员自动定位系统
- 下一篇:一种碳纤维电热板