用于高级语言的编译程序有哪两种?

用于高级语言的编译程序有哪两种?,第1张

用于高级语言的编译程序有两种:编译程序和链接李森程序。

以C语言为例,编译器是cc,可能链接程序就是link。

二者作用是不同的,编译器是把源程序翻译成符号语言,链接程序把来自不同源文件的多个程序整合起来,形成最哪陪亩终的可执行程序。

C++的编译系统沿用了C语言。其他语种,如PASCAL,DELPHI,C#,OBJECT-C,本质上没发生变化

高级语言本身分成两类,编译型和解释性的,编译型的就是上面的类型,解释型的,如BASIC,JAVA,

PHP,

PYTHON等,是不需要编译的,可以直接根据乱滚源代码(或中间代码)直接翻译到 *** 作系统上。

高级语言编写的代码经过编译后就是可执行程序,高级语言到可执行文件主要有七个个过程。

高级语言编译的七个过程:

预处理,词法分析,语法分析,语义分析,中间代码产生,代码优化消迅,目标代码产生。

下面对这几个过程详细讲解:

1、预处理:

对原文拿桥此件进行预处理,比如头文件,导入的模块,宏定义等进行处理;

2、词法分析:

词法分析是第一阶段,这个阶段的任务是从左到右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。

3、语法分析:

语法分析的任务是在词法分析的基础上将单词程序分解成各位语法短语。

4、语义分析:

语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。

5、中间代码生成:

在进行了上述的语法分析阶段等工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。中间代码生成阶段要在语法和语义分析的基础上,将源程序进一步变为一种内部表示形式,它通常易于生成、易于翻译成目标代码,不过不是所有的语言都必须经过这一步。

6、代码优化:

这一阶段的任务是对前一阶段产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效。代码优化阶段,对前阶段生成的中间代码进行变换或改造,以便生成目标代码时更加节省时间和空间,这一工作也不是必须的。

7、目标代码生成:

这一阶段的任消中务是吧中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。

具体如下。

编译型工作过程图,编译程序功能就是把高级语言书写的源代码译成与之等价的目标程序(汇编语言或机器语言)。解释型,解释程序实现高级知郑语言的三种方式解释型在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行时直接执行源程序或源程序的内部形式,即解释程序不产生源程序的目标程序,解释程序通常可以分为两部分:第一部分是分析部分,经语义分析后把源程序翻译成中间代码,中间代码常用逆波兰式表示。第二部分是解释部分。

高级语言(High-levelprogramminglanguage)是一种独立于机器,面向过程或对象的语言。高级语言是参照数学语言而设哪猛罩计的近似于日常会话的语言。例如,要将2个变量相李闹加并赋值给第三个变量,用高级语言表达为var3=var1+var2。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12553220.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存