编译原理第一章

本文介绍了编译原理的基础知识,包括程序设计语言和编译程序的关系,编译过程的五个阶段:词法分析、语法分析、语义分析、优化和目标代码生成。还涉及编译程序的开发技术如自编译、交叉编译和移植,以及构造编译程序所需的知识内容。
摘要由CSDN通过智能技术生成

1.1程序设计语言和编译程序

1、汇编语言:用机器语言编写程序不方便且容易出错,编写出来的程序也难以调试、阅读和交流,为此出现了用助记符代替机器语言的另一种语言,这就是汇编语言。

2、汇编程序:由于计算机不能直接识别这种符号化语言,用汇编语言编写的程序必须翻译成机器语言才能执行,这种“翻译”是通过专门的软件——汇编程序实现的。

3、汇编语言和机器语言一样都是面向机器的,它们都成为低级语言;而高级语言是面向应用的语言。

4、一个高级语言的执行分为编译阶段和运行阶段。 

编译阶段是将源程序转变为目标程序。

即:源程序(高级语言)————编译程序————目标程序(机器语言)

运行阶段是将目标程序连同运行系统接收程序的初始数据作为输入,运行后输出计算结果。

即:初始数据——目标程序——计算结果

如编译生成的目标程序是汇编语言形式,则在编译阶段和运行阶段中间要添加汇编阶段,它将生成的汇编语言目标程序经过汇编程序变成机器语言目标程序。

即:源程序(高级语言)——编译程序———目标程序(汇编语言)——汇编程序——目标程序(机器语言)——计算结果

5、汇编程序:是把汇编指令转换为可执行的机器语言;

     编译程序:把高级编程语言(如Java、C#)编写的程序转换为与之在逻辑上等价的低级语言形式的目标程序。

     解释程序:逐条读出源程序中的语句并解释执行,即在解释程序的执行过程中并不产生目标程序。如Basic语言。

1.2编译过程和编译程序结构

一、编译程序的工作过程:从输入源程序开始到输入目标程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值