首页 / 办公指南 / 编译程序是什么?编译程序有哪几个阶段?
编译程序是什么?编译程序有哪几个阶段?
相信做过程序员的都知道,我们如果想要让非机器语言写出来的程序运行起来,我们需要借助编译程序的帮助。因为编译程序在启动软件的这个过程中起到了翻译的作用,简单来说就是帮助我们写出来的程序翻译成机器听得懂的语言。许多小伙伴们听完小编上面的介绍后可能还抱有疑问,编译程序有什么特点?编译程序有哪几个阶段?今天福昕知翼的小编就来帮帮你。
编译程序是什么?
编译程序是必须分析源程序,然后综合成目标程序的一个过程。首先,检查源程序的正确性,并把它分解成若干基本成分;其次,再根据这些基本成分建立相应等价的目标程序部分。为了完成这些工作,编译程序要在分析阶段建立一些表格,改造源程序为中间语言形式,以便在分析和综合时易于引用和加工。
编译程序的数据结构分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。常数表由源程序中用的常数组成,其中包括常数的机内表示,以及分配给它们的目标程序地址。中间语言程序是将源程序翻译为目标程序前引入的一种中间形式的程序,其表示形式的选择取决于编译程序以后如何使用和加工它。常用的中间语言形式有波兰表示、三元组、四元组以及间接三元组等。
编译程序有哪几个阶段?
编译过程包括哪几个主要阶段及每个阶段的主要功能。
词法分析阶段:读入源程序,对构成源程序的字符流进行扫描和分解,识别出单词。
语法分析阶段:机器通过词法分析,将单词序列分解成不同的语法短语,确定整个输入串能够构成语法上正确的程序。
语义分析阶段:检查源程序上有没有语义错误,在代码生成阶段收集类型信息。
中间代码生成阶段:在进行了上述的语法分析和语义分析阶段的工作之后,有的编译程序将源程序变成一种内部表示形式。
代码优化:这一阶段的任务是对前一阶段产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效,即省时间和省空间。
目标代码生成:这一阶段的任务是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。
编译程序是什么?编译程序有哪几个阶段?相信经过福昕知翼小编上面对这两个问题的解答,大家一定都有所收获。如果我们是一名工程师的话,平日里肯定和编译程序打过不少的交道,我们可以参考编译程序的阶段来帮助我们完善我们的工程文件,希望上文对你有帮助!
本文地址: https://www.docer365.com/zn-2055.html
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处.