【技术实现步骤摘要】
支持有限域数据类型和运算符的编译方法
本专利技术涉及一种支持有限域数据类型和运算符的编译方法,属于大规模并行系统可用性管理
技术介绍
在高性能计算领域,有限域上的运算使用广泛。目前,没有哪一门编程语言可以直接支持对有限域上数据的类型与运算符的描述。目前,针对信息安全领域中用到的有限域类型变量的运算,一般通过使用开源的gf2x库完成,具体的编程实现方式是在程序中对有限域类型变量先分割(如以64bit为单位)后再保存到数组或者结构体中,或者直接调用专用的初始化函数来为有限域类型变量申请存储空间,与有限域相关的运算都是通过运算函数调用的形式完成的,程序员需要理解这些接口函数具体功能才能完成有限域类型变量的编程,而不能使用统一的算术运算和逻辑运算符(如+、-、*、/、==、!=等),而且在库函数的执行过程中需要动态申请和释放空间,影响程序的运行时性能。因此,已有的有限域类型变量处理方式存在变量声明和运算不够直观、程序执行性能受限等问题。因此,如何在标准C语言中提供一种可以描述有限域上的数据类型和操作,并且能 ...
【技术保护点】
1.一种支持有限域数据类型和运算符的编译方法,其特征在于:在GCC编译器中新增对__field关键字的支持,用于对有限域上数据类型的描述,所述__field是有限域上的数据类型,此__field类型中包含固定的两个常量成员,此两个常量成员的名字是固定的,用户通过指定此两个常量成员的值,定义一个具体的有限域类型,再使用定义的有限域类型,声明有限域上的变量;/n对GCC编译器做如下配置:/n在GCC编译器中新增有限域数据类型关键字__field;/n扩展GCC编译器前端,增加对有限域数据类型关键字__field的支持:即在词法分析阶段,编译器前端将用户程序中的字符序列转换为单词 ...
【技术特征摘要】
1.一种支持有限域数据类型和运算符的编译方法,其特征在于:在GCC编译器中新增对__field关键字的支持,用于对有限域上数据类型的描述,所述__field是有限域上的数据类型,此__field类型中包含固定的两个常量成员,此两个常量成员的名字是固定的,用户通过指定此两个常量成员的值,定义一个具体的有限域类型,再使用定义的有限域类型,声明有限域上的变量;
对GCC编译器做如下配置:
在GCC编译器中新增有限域数据类型关键字__field;
扩展GCC编译器前端,增加对有限域数据类型关键字__field的支持:即在词法分析阶段,编译器前端将用户程序中的字符序列转换为单词序列,然后逐一对单词进行分析,当编译器分析到单词”__field”时,将其识别为类型关键字,并为该类型关键字声明的变量新增”field_type”属性,该属性是属于有限域数据类型的特有标志,在后续编译器分析过程中,通过识别该属性进行相应的语法分析与语义转换;
扩展GCC编译器前端,增加对有限域数据类型关键字表达式的语法分析和语义分析操作,使得编译器为有限域数据类型关键字相关的初始化表达式、赋值表达式、运算表达式、打印语句进行正确的分析;
基于以上配置,所述支持有限域数据类型和运算符的编译方法包括以下步骤:
S1、GCC编译器对源程序预处理;
S2、GCC编译器对源程序进行词法分析,在该阶段识别有限域数据类型关键字__field,并设置有限域数据类型属性”field_type”;
S3、GCC编译器对源程序进行语法分析,对遇到的赋值...
【专利技术属性】
技术研发人员:何王全,方燕飞,杨小川,董恩铭,李雁冰,漆锋滨,
申请(专利权)人:无锡江南计算技术研究所,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。