【编译原理】绪论

1.计算机程序语言以及编译

编译是对高级语言的翻译

源程序是句子的集合 ,树可以较好的反应句子的结构

编译程序是一种翻译程序

2.编号器在语言处理系统中的位置

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

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

链接器:将多个可重定位的机器代码文件(包括库文件)连接在一起;解决外部内存地址问题

3.编译器构造

分析部分/前端:与源语言相关(从词法分析器到中间代码生成器)

综合部分/后端:与目标语言相关(从目标代码生成器到相关代码优化)

语法分析器接收以单词为单位的输入,语法分析器的任务是分析单词串是如何构成语句和声名的 , 语法分析所依据的是语法规则

4.词法分析概述

5.语法分析

语法分析器从词法分析器输出发token序列中识别出各类短语 ,并构造语法分析树

6 语义分析

7.中间代码生成以及编译器后端概述

常用中间代码的中间表示形式:

三地址码:本模块主要讨论这个

语法结构树/语法树
三地址指令的表示:

四元式

三元式

间接三元式

9 目标代码生成

目标代码生成以源程序的中间表示形式 作为输入,并把它映射到目标语言

目标代码生成的一个重要任务是为程序中使用的变量合理分配寄存器

10 代码优化

为改进代码所进行的等价程序交换 ,使其运行得更快 一些,占用空间更少一些,或者二者兼顾

相关推荐
Li_RuiQi8 小时前
DAgger方法演进_独立学习笔记
笔记·学习·计算机视觉
Li_RuiQi12 小时前
DAgger与交互式模仿学习_ACT学习笔记
笔记·学习
He BianGu12 小时前
【笔记】C# 中BindingFlags的详细作用
笔记·c#
AI视觉网奇12 小时前
turtle 入门教程笔记
笔记
跨知易知识产权13 小时前
美国专利确权是什么,和专利诉讼有什么不一样?
笔记
杨逢昌工厂6S管理13 小时前
126-杨逢昌6S三环体系:越做越乱的现场熵增机理与基准化治理——一线现场诊断笔记
经验分享·笔记·职场和发展·学习方法
悟道书生13 小时前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
陈哈哈111114 小时前
折腾了半天,总算把 Vim 9.2 装明白了
笔记
陈哈哈111114 小时前
折腾了半天,总算把 OpenGL 的开发环境给装明白了
笔记
深圳老胡15 小时前
STM32F103 硬件 SPI 与软件 IO 模拟 SPI 最高速度差异详解
笔记·stm32·单片机·代码规范·1024程序员节