[发明专利]编译方法及编译程序无效
申请号: | 200980143186.3 | 申请日: | 2009-10-07 |
公开(公告)号: | CN102203733A | 公开(公告)日: | 2011-09-28 |
发明(设计)人: | 浅尾忍 | 申请(专利权)人: | 松下电器产业株式会社 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 徐殿军 |
地址: | 日本*** | 国省代码: | 日本;JP |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 方法 编译程序 | ||
技术领域
本发明涉及编译方法及编译程序,尤其涉及将指定了扩展语言规范的输入程序变换为目标程序的编译方法及编译程序。
背景技术
在高级语言(例如C或C++)的编译器中通常准备了扩展语言规范,以便在程序执行环境下获得最高的性能(performance)。
其中,程序执行环境是指执行利用高级语言编写的程序的环境。并且,语言规范(1anguage specification)是指语言的规范,即规定了该语言的语法或语义的规范。并且,扩展语言规范是指在预先利用语言规范规定的规范之外的、新(扩展地)规定了该语言的语法和语义的规范。换言之,在扩展语言规范中规定了使某个记述(例如式子或语句等)具有什么样的语义、进行什么样的动作。并且,通过在程序中进行扩展语言规范的指定,能够使编译器执行依照所指定的扩展语言规范所相应的、针对例如式子或语句等记述(以下记载为扩展语言规范语句)的规定的动作。并且,扩展语言规范的指定方法例如有利用命令行中的选项(option)、pragma编译指令(#pragma)或者属性(_attribute_)等进行的指定。
但是,随着近年来的程序规模的增大,很难掌握扩展语言规范的指定对程序整体的影响。另外,随着程序执行环境的高功能化,能够指定的扩展语言规范的规定变得详细且复杂,导致频繁地产生某个扩展语言规范的指定(某个扩展语言规范语句)对其它扩展语言规范的指定(其它扩展语言规范语句)造成影响的情况。
因此,用户不仅要对程序整体掌握单一的扩展语言规范语句的动作,也必须掌握在指定了多个相关联的扩展语言规范语句时对动作的影响等、多个扩展语言规范语句之间的协调动作。但是,即使是对高级语言比较熟练的用户也很难完全掌握多个扩展语言规范语句之间的协调动作。因此,指定扩展语言规范成为埋下不可预测的缺陷(bug)的主要因素。
因此,在现有的扩展语言规范的指定方法中提出了以下方法:对用户指定的扩展语言规范(扩展语言规范语句)的候选进行分析,根据该分析结果来自动指定针对对象(object)的扩展语言规范(扩展语言规范语句)(例如,参照专利文献1)。另外,还提出了以下方法:即使用户没有指定扩展语言规范语句,也能够自动插入扩展语言规范语句的指定并修正输入程序,以便实现良好的优化(例如,参照专利文献2)。另外,也提出了进行扩展语言规范语句的指定的检查,以使编译器不会生成错误的目标程序的方法(例如,参照专利文献3)。
现有技术文献
专利文献
专利文献1:日本特开2007-108940号公报
专利文献2:日本特开2006-107338号公报
专利文献3:日本特开2006-107339号公报
发明概要
发明要解决的问题
但是,如下面说明的那样,现有的方法存在以下问题,即,用户不容易掌握所指定的扩展语言规范语句对输入程序和目标程序产生什么样的影响。下面,说明现有的方法的问题点。
图25是表示在现有的方法中所指定的扩展语言规范语句的状态显示的实施例的图。在现有的方法即专利文献1的方法中,用户能够确认所指定的特定的(一个)扩展语言规范语句指定了哪个对象。并且,用户能够确认扩展语言规范语句的指定方法是基于选项的指定、还是基于源程序(source,源)中的记述的指定(例如编译指令等)、或者是基于选项和源程序中的记述双方的指定。
但是,专利文献1的方法中,虽然能够确认输入程序上的哪个部位受到了扩展语言规范语句的指定的影响,但是不能确认在进行编译之后输出的目标程序(例如汇编程序)上的哪个部位由于扩展语言规范语句的指定而受到影响。并且,虽然能够掌握在输入程序中指定了什么样的扩展语言规范语句,但是用户不能掌握成为对象的对象(object)是如何按照该指定的扩展语言规范语句进行变更的(例如,对齐(alignment)值是如何变化的等)。
另外,如图25所示,专利文献1的方法中,虽然能够显示特定的一个扩展语言规范语句指定了哪个对象,但是不能从某个对象受到了哪个扩展语言规范语句的影响的观点来进行显示。因此,用户在利用多个扩展语言规范语句对成为对象的对象进行重复指定的情况下,不能确认在该多个扩展语言规范语句中哪个扩展语言规范语句是实际有效的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于松下电器产业株式会社,未经松下电器产业株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980143186.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:颅内病变CT体表简易定位法
- 下一篇:一种治疗椎间盘突出的膏药