编译原理简介

1.编译器

简单地说,编译器是一个程序,它读入用某种语言(源语言)编写的程序并将其翻译成一个与之等价的以另一种语言(目标语言)编写的程序〈如图1-1所示)。作为这个翻译过程的-个重要组成部分、编译器能够向用户报告被编译的源程序中出现的错误。

2.一个语言处理系统的流程

源程序梗概
预处理器
源程序
编译器
目标汇编程序
汇编器
可重定位机器代码
装载器/链接-编辑器
绝对机器码

2.1.源程序分析由三个阶段组成

线性分析(词法分析)
  在线性分析中,从左到右地读构成源程序的字符流,而且把字符流分组为多个记号(token),而记号是具有整体含义的字符序列。
层次分析(语法分析)
  在层次分析中,字符串或记号在昃次上划分为具有一定层次的多个嵌套组,每个嵌套组具有整体的含义。
语义分析
  在语义分析中要进行某些检查,以确保程序各个组成部分确实是有意义地组合在一起的。

3.编译器的各个阶段

源程序
词法分析器
语法分析器
语义分析器
中间代码生成器
代码优化器
代码生成器
目标程序

符号表管理器和错误处理器贯穿6个阶段。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值