编译原理(一)

本文介绍了编译程序的重要性及其基本过程,包括词法分析、语法分析、中间代码生成及机器码生成等步骤。并阐述了使用中间代码的原因在于提高编译程序的使用效率和屏蔽硬件的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、为什么需要编译程序

早期的计算机程序员是使用0和1来编写程序的。这样写的话,很容易出错。而且不能分出精力来专注于具体的算法。。所以人们就设计出了一种语言的注记符号、、就是汇编。但是他也比较麻烦。。然后就发明了。所谓的高级语言。吧高级语言编程计算机能够识别的二进制代码的过程。就是编译。。编译技术是计算机发展史上的里程碑技术。编译其实就是翻译的过程。

2、编译的基本过程(参考人工翻译的过程。二者感觉没什么本质的区别)

编译的基本过程大致可以分为2个阶段,第一个阶段是对源语言的分析。第二个阶段是对目标语言的生成。具体步骤如下。。

第一步:编译器调用词法分析器

       词法分析器输入的是源程序的代码。代码是一个长长的字符串。它的任务是扫描并且分析这个字符串。是她变成一个由词组成的串。。所以他的输出是有词组成的序列。

第二部:语义分析和中间代码生成阶段

       输入的是语法树。输出中间代码。为了是最终产生的机器码有较高的效率。对四元式进行代码优化。

第三步:机器代码的生成阶段

       吧经过优化处理的中间代码转换成特定机器上的语言代码。

3、转化为中间代码的原因

       一、提高编译程序的使用效率(不同的机器有不同的机器语言)二、中间语言可以屏蔽硬件的复杂性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值