-
公开(公告)号:CN117910583A
公开(公告)日:2024-04-19
申请号:CN202410158961.9
申请日:2024-02-04
Applicant: 北京林业大学
Abstract: 本发明涉及一种用于代码生成的类型推理方法及系统,其方法包括:S1:对Isabelle函数定义进行语法解析并转为抽象语法树AST;S2:根据函数定义提取其中各变量类型并记录在AST中;S3:从AST根节点开始依据表达式的类型采用不同的递归规则,递归到叶子节点后标注其类型,并推导其上一层表达式类型;S4:将表达式中拥有原定义类型的表达式的类型与对应的原定义类型进行修饰进行区分和标注;S5:对多种不同类型表达式,比较其抽象—具体关系,并确定出正确类型以完成一致化;S6:自顶向下地为部分缺少准确类型信息的表达式补全其类型。本发明方法提高生成的C++代码的正确性,可以满足代码生成时对表达式类型信息的需求。