申请/专利权人:中国人民解放军战略支援部队信息工程大学
申请日:2023-12-18
公开(公告)日:2024-04-09
公开(公告)号:CN117850797A
主分类号:G06F8/41
分类号:G06F8/41
优先权:
专利状态码:在审-实质审查的生效
法律状态:2024.04.26#实质审查的生效;2024.04.09#公开
摘要:本发明涉及程序分析技术领域,特别涉及一种基于Clang的浮点程序中间表示生成方法及系统,对浮点程序源码进行预处理,去除与数值计算无关的程序代码;利用Clang编译器生成源码对应的抽象语法树,每个节点代表源码的一个语法结构;使用AST访问器遍历抽象语法树中的函数声明和函数体并提取函数信息,通过函数信息分析函数体中语句,生成对应等价表达式并保存语句中每个变量信息到对应数据结构中,其中,函数信息包括函数参数列表、函数名和函数返回类型;利用等价表达式自动生成浮点程序源码对应的中间表示。本发明将复杂浮点程序中核心计算转换为数学表达式,基于数学表达式自动生成中间表示,以便对浮点程序进行静态分析和优化,提升浮点程序分析效率。
主权项:1.一种基于Clang的浮点程序中间表示生成方法,其特征在于,包含如下内容:对浮点程序源码进行预处理,去除与数值计算无关的程序代码;利用Clang编译器生成源码对应的抽象语法树,每个节点代表源码的一个语法结构,节点属性包含对应语法结构的结构名称、结构类型、语法位置及各子节点相关属性;使用AST访问器遍历抽象语法树中的函数声明和函数体并提取函数信息,通过函数信息分析函数体中语句,生成对应等价表达式并保存语句中每个变量信息到对应数据结构中,其中,函数信息包括函数参数列表、函数名和函数返回类型;利用等价表达式自动生成浮点程序源码对应的中间表示。
全文数据:
权利要求:
百度查询: 中国人民解放军战略支援部队信息工程大学 基于Clang的浮点程序中间表示生成方法及系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。