编译原理 第一章(绪论)

本文介绍了编译原理中的程序编译过程,包括预处理器、可重定位、链接器和加载器的作用。同时,详细阐述了编译器的结构,特别是词法分析的主要任务,如识别单词并转化为词法单元。此外,还讨论了语法分析、语义分析、中间代码生成和目标代码优化等关键步骤。
摘要由CSDN通过智能技术生成

程序文件编译过程

在这里插入图片描述

预处理器:
· 把存储在不同文件中的源程序聚合在一起
· 把被称为宏的缩写语句转换为原始语句

可重定位:
· 在内存中存放的起始位置L不是固定的

链接器
· 将多个可重定位的机器代码文件(包括库文件)连接到一起
· 解决外部内存地址问题(引用外部文件的内容造成的)

加载器:
· 修改可重定位地址;
· 将修改后的指令和数据放到内存中适当的位置

起始位置+相对地址=绝对地址

编译器的结构

在这里插入图片描述

词法分析

词法分析的主要任务

  • 从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型。
  • 将识别出的单词转换成统一的机内表示——词法单元(token)形式

token:< 种别码,属性值>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值