对应于最优化图象产生调试源文件的语言处理系统和方法技术方案

技术编号:2889083 阅读:306 留言:0更新日期:2012-04-11 18:40
一种语言处理系统包括分析单元(101)用于接收要处理的源文件的输入和实施对其的分析处理,优化单元(102)用于接收由分析单元(101)产生的中间数据的输入和实施对其的优化处理,调试源程序信息产生单元(103)用于产生基于优化的中间数据反映优化内容及形式近似于源文件的调试源文件,在调试源文件生成期间加所获调试信息到优化的中间数据中,和编码产生单元(104)用于接收加有调试信息的中间数据的输入和编码生成一目标文件。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种能分析一个源文件而产生一个目标文件的语言处理系统,尤其是涉及一种为方便源文件的调试而产生一个调试源文件的语言处理系统。一个常规能分析源文件而产生一目标文件的语言处理系统包括一个分析单元801,一个优化单元802和一个编码产生单元803,如图8所示。单元801接收源文件810的输入并实施同样的分析处理去产生用一种中间语言表示的中间数据820。优化单元802接收由分析单元801生成的中间数据820的输入并实施同样的优化处理去生成优化的蹭数据830。编码产生单元803接收由优化单元802优化的中间数据输入并对其编码产生一个目标文件840。这个产生的多元目标文件840被连接到一个库去生成一个执行文件,这个文件与源文件810一起施加到调试程序。由优化单元802优化该中间数据820可能的方法已被公开,例如,在日本的专利公开号为No平5-158706,标题是“中间语言最优化处系统”。该文献阐述一个编译器其包括一个分析装置用于分析一个高级语言程序而产生中间语言数据和一个编码产生装置用于从中间语言数据生成一个低级语言程序,对于编码产生装置包括一个中间语言优化装置用于接收中间语言的输入以及基于一个遵照中间语言优化编写句法编写成的中间语言优化程序来对其优化,因此在编码产生处理的中间语言水平独立地执行优化处理。已经接收目标文件840和源文件810的调试程序调试优化的编码。在这里,在目标文件840中的调试信息之一是行号,其中每一个对应于一个地址。这就使一个程序利用目标文件840中的调试信息基于源程序810中每一行能够执行和调试。参照图9至附图说明图11,这将给出一个由调试程序优化编码调试的描述。图9显示的是一个源程序。在该图中,行号的标出是为了方便描述图10显示的是图9中所示一源程序的优化图象。尽管有各种各样的优化,但在这儿要注意的是一个展开的循环的描述。为了改进执行性能,通过减少条件限定和分支的数量到四分之一的优化被实施去替代该源程序到连续指定的语句。图11显示对应于图9中源程序的优化的中间数据和调试信息。图11中,该源程序的一部分被表示在中间语言的右边。每个中间语言表示如下XXX标号FILE 文件名(调试信息)LINE 行号 (调试信息)LDC常数的加载STR存储变量L0D变量的加载LDA变量的地址加载ADD加ILD在地址指定位置的数据的加载IST在地址指定位置的数据的存储CMP比较LEG条件分支在上述的条件下,如果源调试被执行在图9中第8行一个断点设置,调试将停在对应于调试信息的行号“8”的位置。然而,在所述的例子中,这些指定的语句被如图10所示的展开而行号仅仅存在于显现的如图11中所示多行展开的指定语句的末端,因此一次执行将导致四行指定语句的完成。如上述的描述中,在源级调试使用由一个常规语言处理系统所产生的目标文件,高级优化处理可能在许多情况下引起删除和编码的移位以致在调试中不能用断点的设置或者引起调试中运行与源程序不对应而使其难以理解。在这种情况下,参照一个汇编源程序是需要的,这使工作艰巨了。此外,为了产生调试信息实质上正确地对应于一个源程序,有一种情况优化处理不能实施。因此,上述的常规系统是不实际的。一个相对应于源程序的目标和调试信息的产生能通过在目标生成时降低优化级别以便不会有害地影响源级调试或者取消优化处理来实现。然而在这种情况下,因为满意的优化处理没有实施,即使调试正常地结束了,目标文件的执行速度也不能使人满意,或者编码的长度可能增加了。而且,如果调试后,一个期望的优化水平为了满意实施优化处理的目的被设计去再产生一个目标,也不能保证这个执行形式正常地工作。这是因为在操作和计时中由于目标执行速度的差异或语言处理程序的问题,所以保留差别的可能性不可否认。本专利技术的一个目的是提供一个能产生符合优化想法的调试源文件和调试信息的语言处理系统及其一种方法,该系统当一个源程序的调试中源程序的执行未能与源程序对应时能够使源程序容易被实施而不需要参考一个难以理解的汇编源程序。本专利技术的另一个目的是提供一个保证期望的优化水平而不用在优化处理时不必要地降低优化水平的语言处理系统及其方法,从而避免一目标文件执行速度变得不满意或编码长度上的增加。根据本专利技术的第一个方面,具有分析源文件而产生中间数据以及优化和编码该数据而产生一个目标文件的一个语言处理系统,包括用于接收要处理的源文件的输入并实施分析处理去产生中间数据的分析装置;用于接收由分析装置产生的中间数据的输入并实施优化处理的优化装置;调试源程序信息产生装置是用于接收由优化装置优化的中间数据的输入而产生一个基于中间数据反映优化的内容及其形式近似于源文件形式调试的源文件,而进一步,在调试源文件产生期间加所获调试信息到优化的中间数据中;和编码产生装置用于接收由调试源程序信息产生装置加入的具有调试信息的中间数据的输入并且对其编码产生一个目标文件。在这较佳的结构中,调试源程序程序信息产生装置重复地执行来自于由优化装置优化的中间数据在优化处理中确定的目标数据组之一的读取处理,从读取的中间数据的一数据组中提取源程序信息构成一个调试文件以及加入调试信息到与中间数据的所有目标数据组的每一组有关的中间数据的一组中。在这种较佳的结构中,该语言处理系统还包括代替优化装置和调试源程序信息产生装置,具有一个调试源程序信息产生功能的优化装置用于接收由分析装置产生的中间数据输入并实施优化处理,并产生一个基于优化的中间数据反映优化内容及其形式近似于源文件形式的调试源文件,而进一步,在调试源文件产生期间加入所获调试信息到优化的中间数据中。在这个较佳的结构中,该语言处理系统还包括代替优化装置和调试源程序信息产生装置具有一个调试源程序信息产生功能的优化装置用于接收由分析装置产生的中间数据的输入以及实施优化处理,并产生一个基于优化的中间数据反映优化内容及其形式近似于源文件形式的调试源文件,而进一步,在该调试源文件产生期间加所获调试信息到优化的中间数据中,在这其中,具有一个调试源程序信息产生功能的优化装置重复地执行来自于由分析装置产生的中间数据在优处理中确定的目标数据组之一的读取处理和优化读取的中间数据中一组数据的处理,并从优化的中间数据中提取源程序信息构成一个调试源文件以及加所获调试信息到与中间数据的所有目标组中的每组有关的中间数据的一组中。根据本专利技术的第二个方面,一个分析源文件产生中间数据以及优化和编码该数据产生一个目标文件的语言处理方法,包含以下步骤接收要处理的源文件的输入和实施分析处理以产生中间数据;接收在分析步骤产生的中间数据的输入和实施优化处理;接收在优化步骤优化的中间数据的输入而产生一个基于中间数据反映优化内容及其形式近似于源文件形式的调试源文件,而进一步,在该调试源文件产生期间加所获调试信息到优化的中间数据中;和接收具有在调试源程序信息产生步骤加入调试信息的中间数据的输入和对其编码以产生一个目标文件。在这个较佳的结构中,调试源程序信息产生步骤包括下列步骤读取来自在优化步骤优化的中间数据在优化处理中确定的目标数据组中的一组;从读取的一组中间数据中提取源程序信息构成一个调试源文件,和加调试信息到一组中间数据中,及在这其中各个步骤的每个处理相对应于中间数据的所有目标的每组本文档来自技高网...

【技术保护点】
一种分析源文件以生成中间数据以及优化和编码该数据而生成一个目标文件的语言处理系统它包括:分析装置(101)用于接收一个要处理的源文件的输入并且实施对其的分析处理而产生中间数据;优化装置(102)用于接收由所述分析装置(101)产生的 中间数据的输入并且实施同样的优化处理;调试源程序信息产生装置(103)用于接收由的所述优化装置(102)优化的所述中间数据的输入而生成一个基于中间数据反映优化的内容及其形式近似于所述源文件的调试源文件,而进一步,在所述的调试源文件生成期 间加入所获调试信息到所述的优化中间数据;以及编码产生装置(104)用于接收具有由所述调试源程序信息产生装置(103)加入调试信息的所述中间数据的输入并且对其编码而生成一个目标文件。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:西海弘恭
申请(专利权)人:日本电气株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1