【技术实现步骤摘要】
本专利技术涉及用于将用高级语言描述的程序转换成目标程序的编译方法、调试方法、编译程序和调试程序。
技术介绍
在近年来的软件开发中,程序规模不断增大,基于这种情况,具有高可维护性和高可重用性的面向目标语言受到了关注。面向目标语言的典型例子是C++语言。作为替代一直以来传统地广泛用于编程的C语言的语言,C++语言正在成为关注的焦点,并且在相关
,编程中的语言从C语言转变到C++语言。在这种语言转变中,因为C++语言是C语言的高级兼容语言,故在常规情况下只要简单地通过将C语言编译器替换为C++语言编译器,就能生成没有任何操作问题的目标代码。然而,当用C语言中叙述的程序在C++语言中编译时,会引起代码大小和执行时间不受欢迎地增长的问题。针对该问题的常规第一解决方案是,使用文献(见M·A·Ellis、B·Stroustrup著,Takanori Adachi和Hiroshi Koyama译的“注释C++参考手册”7.4章“连接指配”)中所叙述的关于程序的连接指配(linkageassignment)。第二解决方案是分析程序中语言规范的范围并且尽可能地对编译自动应用子集的语言规范,如同在日本专利申请公开No.2003-50700中所叙述的。然而,在第一解决方案中,迫使程序员在编程中考虑连接指配,这阻碍了C语言轻易地向C++语言转变。在第二解决方案中,没有考虑到与程序中编码符号(函数名、变量名等)相关的一致性,虽然可以将C++语言编译成用作内建为C++子集规范的EC++语言。结果是,无法期望这样的优化,例如基于语言规范的兼并对代码大小和执行时间的缩减。专利技术 ...
【技术保护点】
一种用于将输入程序转换成目标程序的编译方法,包括: 部分语言规范判定步骤,用于判定在输入程序中设置的至少两个特定范围的每个特定范围中的语言规范; 判断步骤,用于判断所述特定范围中的语言规范之间是否存在差别;和 部分代码校正步骤,用于在判断出所述特定范围中的语言规范之间存在差别时,对特定范围之一中的至少一部分代码进行校正。
【技术特征摘要】
JP 2006-5-11 2006-1323801.一种用于将输入程序转换成目标程序的编译方法,包括部分语言规范判定步骤,用于判定在输入程序中设置的至少两个特定范围的每个特定范围中的语言规范;判断步骤,用于判断所述特定范围中的语言规范之间是否存在差别;和部分代码校正步骤,用于在判断出所述特定范围中的语言规范之间存在差别时,对特定范围之一中的至少一部分代码进行校正。2.根据权利要求1所述的编译方法,其中在所述部分语言规范判定步骤中,基于在特定范围中使用的编程语言的工具性程序判定所述语言规范。3.根据权利要求1所述的编译方法,其中在所述部分语言规范判定步骤中,在所述输入程序中存在语言规范控制语句的情况下,基于所述语言规范控制语句判定所述语言规范。4.根据权利要求1所述的编译方法,其中在所述部分语言规范判定步骤中,在语言规范控制指令被提供给用于编译所述输入程序的编译系统的情况下,基于所述语言规范控制指令判定所述语言规范。5.根据权利要求1所述的编译方法,其中在所述部分代码校正步骤中,在所有函数中的定义语言规范与引用语言规范之间存在差别的情况下,具有子集语言规范的函数代码名被改变为具有超集语言规范的函数代码名。6.根据权利要求1所述的编译方法,其中在所述部分代码校正步骤中,所有被多重定义的外部函数都被改变为具有单独函数名并且在程序中未被多重定义的外部函数,并且当所有被多重定义的外部函数都被改变为具有该单独函数名并且在程序中未被多重定义的该外部函数时,再次执行部分语言规范判定步骤。7.根据权利要求1所述的编译方法,其中在所述部分代码校正步骤中,所有属于一名字空间的外部函数都被改变为具有单独函数名并且在程序中不属于所述名字空间的外部函数,并且当所有属于所述名字空间的外部函数都被改变为具有所述单独函数名并且在程序中不属于所述名字空间的所述外部函数时,再次执行部分语言规范判定步骤。8.根据权利要求1所述的编译方法,其中在所述部分代码校正步骤中,所有由一模板生成的外部函数都被改变为具有单独函数名并且在程序中不是由该模板生成的外部函数,并且当所有由该模板生成的外部函数都被改变为具有所述单独函数名并且在程序中不是由该模板生成的所述外部函数时,再次执行部分语言规范判定步骤。9.一种用于调试输入程序的调试方法,包括部分语言规范认可步骤,用于认可在输入程序中设置的至少两个特定范围的每个特定范围中的语言规范;和部分语言规范显示步骤,用于一起显示每个特定范围中所认可的语言规范及其程序来源。10.根据权利要求9所述的调试方法,进一步包括模板开发显示步骤,用于在分析目标是由所述模板生成的实例的情况下,显示其中模板被开发的源程序。11.根据权利要求9所述的调试方法,进一步包括用于显示违背子集语言规范的部分的步骤,其中在子集语言规范被定义在所认可的语言规范中的情况下,偏离子集语言规范的一部分程序的内容被显式地显示。12.一种用于将输...
【专利技术属性】
技术研发人员:浅尾忍,
申请(专利权)人:松下电器产业株式会社,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。