一种基于模式匹配的目标代码生成方法与流程

专利2025-07-16  22


本发明涉及计算机语言编译领域,更具体地,涉及一种基于模式匹配的目标代码生成方法。


背景技术:

1、编译器中的代码生成器以中间表示(ir)形式作为输入,并把它映射到目标机器代码。根据中间表示,选择适当的目标机器指令来实现所需的操作,这通常涉及将高级语言的操作映射到目标机器指令集架构。

2、由于目标机器指令集架构的多样性,提高编译器的可移植性是编译器设计中需要考虑的重要问题之一。

3、目标机器代码是可被计算机识别执行的,原始代码的格式是存在多样性的,无法直接被计算机识别,因此,如何使得原始代码能够被计算机识别是一个需要解决的问题。


技术实现思路

1、本发明针对现有技术中存在的技术问题,提供一种基于模式匹配的目标代码生成方法,包括:

2、步骤s1,将待匹配代码块与每一个中间代码模式匹配块进行匹配,找到与所述待匹配代码块匹配的中间代码模式匹配块,每一个所述中间代码模式匹配块按照中间代码模式匹配规则组织;

3、步骤s2,根据中间代码模式匹配规则、目标机器代码模式生成规则和匹配的中间代码模式匹配块生成目标代码,所述目标代码按照目标机器代码模式生成规则组织。

4、本发明提供的一种基于模式匹配的目标代码生成方法,将待匹配代码块与每一个中间代码模式匹配块进行匹配,找到与待匹配代码块匹配的中间代码模式匹配块,基于找到的中间代码模式匹配块,生成对应的目标代码,实现了待匹配代码块到目标代码的映射,得到了所需的目标代码,能够适用于目标机器指令集架构。



技术特征:

1.一种基于模式匹配的目标代码生成方法,其特征在于,包括:

2.根据权利要求1所述的基于模式匹配的目标代码生成方法,其特征在于,所述中间代码模式匹配规则中的每行包括四元组,所述四元组为 <操作码,{操作数编号列表},{条件函数列表}, 条件函数标志>;

3.根据权利要求1所述的基于模式匹配的目标代码生成方法,其特征在于,所述待匹配代码块中包括多条指令,每一个所述中间代码模式匹配块包括多条指令,所述步骤s1,将待匹配代码块与每一个中间代码模式匹配块进行匹配,找到与所述待匹配代码块匹配的中间代码模式匹配块,包括:

4.根据权利要求3所述的基于模式匹配的目标代码生成方法,其特征在于,步骤s104、根据中间代码模式匹配规则,将待匹配代码块的指令与第一个中间代码模式匹配块的指令进行模式匹配,包括:

5.根据权利要求4所述的基于模式匹配的目标代码生成方法,其特征在于,所述步骤s403、根据pmpointer指向指令所定义的中间代码模式匹配规则,与irpointer指向指令进行匹配,包括:

6.根据权利要求1所述的基于模式匹配的目标代码生成方法,其特征在于,步骤s2、根据中间代码模式匹配规则、目标机器代码模式生成规则和匹配的中间代码模式匹配块生成目标代码,还包括:


技术总结
本发明提供一种基于模式匹配的目标代码生成方法,将待匹配代码块与每一个中间代码模式匹配块进行匹配,找到与待匹配代码块匹配的中间代码模式匹配块,基于找到的中间代码模式匹配块,生成对应的目标代码,实现了待匹配代码块到目标代码的映射,得到了所需的目标代码,能够适用于目标机器指令集架构,可被计算机识别执行,在生成目标代码的过程中,还会对其进行优化,且支持对非连续中间表示的代码优化。

技术研发人员:张抗,许世文,吴正豪,胡艳明
受保护的技术使用者:武汉凌久微电子有限公司
技术研发日:
技术公布日:2024/11/11
转载请注明原文地址: https://tieba.8miu.com/read-15917.html

最新回复(0)