编译技术图示(第一章 编译概述)

编译技术图示(第一章 编译概述)

源程序——>机器代码

分析(前端):分成小部分,找出小部分属性,包括:词法分析、语法分析、语义分析、中间代码生成

合成(后端),包括:中间代码优化、目标代码生成、目标代码优化

1、词法分析:识别、删除单词符号、词法检查



输入:源代码,输出:二元式<单词类别,单词属性>

2、语法分析



输出:抽象语法树(AST),从下向上看

3、语义分析



有限,大部分都是类型(运算)检查

4、中间代码生成



eg:x=a+b —> t1=a+b x=t1

为什么分为两个指令?因为是两个操作:加法和赋值

5、符号表



1)包括:名字(key)域和属性(value)域

2)实现:线性表、Hash表

原文地址:https://www.cnblogs.com/ggotransfromation/p/11609548.html

时间: 2024-12-28 09:06:29

编译技术图示(第一章 编译概述)的相关文章

操作系统思考 第一章 编译

第一章 编译 作者:Allen B. Downey 原文:Chapter 1 Compilation 译者:飞龙 协议:CC BY-NC-SA 4.0 1.1 编译语言和解释语言 人们通常把编程语言描述为编译语言或者解释语言.前者的意思是程序被翻译成机器语言,之后由硬件执行:而后者的意思是程序被软件解释器读取并执行.例如,C被认为是编译语言,而Python被认为是解释语言.但是二者之间的界限并不总是那么明显. 首先,许多语言既可以编译执行也可以解释执行.例如,存在C的解释器,和Python的编译

[OpenGL红宝书]第一章 OpenGL概述

第一章 OpenGL概述 标签(空格分隔): OpenGL 第一章 OpenGL概述 1 什么是OpenGL 2 初识OpenGL程序 3 OpenGL语法 4 OpenGL渲染管线 41 准备向OpenGL传输数据 42 将传输数据到OpenGL 43 顶点着色 44 细分着色 45 几何着色 46 图元装配 47 剪切 48 光栅化 49 片元着色 410 逐片元的操作 5 第一个程序深入分析 51 进入main函数 52 OpenGL的初始化过程 初始化顶点数组对象 分配顶点缓存对象 将数

Laxcus大数据管理系统(2)- 第一章 基础概述 1.1 基于现状的一些思考

第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴技术和产业需求的推动下,对数据存储和计算要求也日益提高,并且对计算数据的准确性和精度也远高于互联网数据.而在这些现象的背后,当前的数据计算早已经突破MB量级,GB成为常态,TB变得流行,正在向PB迈进的时候,面对如此庞大的数据量,如果管理和使用它们,满足各种计算需求,发现和筛选其中有价值的信息,通常

第一章:Http概述

第一章:Http概述 引言 web浏览器.服务器和相关的web应用程序都是通过http相互通信的,http是现代全球英特网中使用的公共语言. 本章主要内容 1.web客户端与服务器是如何通信的 2.资源(表示web内容)来自何方 3.web事务(请求与响应)是怎样工作的 4.http通信所使用的报文(请求报文/响应报文) 5.底层TCP网络协议 6.不同的http协议变体 1.2web客户端与服务器 web内容都是存储在web服务器上的.web服务器所使用的是http协议,因此也经常称web服务

第一章 HTML5 概述

这是一本关于 HTML5 编程的书.不过在学习之前,有必要先了解一下背景知识,什么是 HTML5?它经历了怎样的发展历程?HTML4 和 HTML5 有什么区别?本章中,我们会集中讨论大家关注的一些实际问题.为什么是 HTML5?为什么它能掀起风潮?是什么设计理念使得 HTML5 真正具有革命性的进步?HTML5 如何在大幅改动的同时保持高度兼容?无插件范式意味着什么?HTML5 包含什么,不包含什么?HTML5 新增加了哪些特性,为什么能揭开整个 Web 开发新时代的序幕?下面我们一起来了解一

学习笔记:第一章——计算机网络概述

学习笔记:第一章--计算机网络概述 1.0 计算机网络的定义:一些互相连接的,自治的计算机的集合称为计算机网路. 1.1 计算机网络在信息时代中的作用:连通和共享. 1.2 因特网概述:       网络的概念:网络(network)是由若干个结点(node)和连接这些结点的链路(link)组成. 网络中的结点可以是计算机,集线器,交换机和路由器: 网络和网络是通过路由器连接: 因特网是世界上最大的网络. 1.3 因特网的组成: 从因特网的工作方式上将其分为以下两大快: (1)边缘部分:由所有的

【读书笔记】《编译原理》第一章 引论

第一章 引论 第一章 引论 1 语言处理器 2 一个编译器的结构 3 程序设计语言发展历程 5 编译技术的应用 1.1 语言处理器 编译器compiler:将源程序翻译成目标程序,生成目标代码快速,错误诊断效果差. 解释器interpreter:用户提供源程序和输入,产生输出,较慢,错误诊断效果好. java语言处理:Java源程序->字节码bytecode->虚拟机解释执行 语言处理系统:源程序--预处理器preprocessor--经过预处理的源程序--编译器--目标汇编程序(便于输出调试

C#本质论读书笔记:第一章 C#概述|第二章 数据类型

第一章 1.字符串是不可变的:所有string类型的数据,都不可变,也可以说是不可修改的,不能修改变量最初引用的数据,只能对其重新赋值,让其指向内存中的一个新位置. 第二章 2.1 预定义类型或基本类型: C#语言的基本类型包括8种整数类型,2种用于科学计算的二级制浮点类型,1种用于金融计算的十进制浮点类型,1种布尔类型以及一种字符类型. 2.1.1 整数类型: 要注意int32的范围,如果是要保存10位以上的数字编号的时候,要么使用string,要么使用int64,因为int32只能保存到10

第一章 计算机网络概述

计算机网络原理精讲视频教程 第1章 计算机网络概述 局域网 覆盖范围小 自己花钱购买设备 带宽固定 自己维护 100米 带宽 10M 100M 1000M 广域网 距离远 花钱租带宽 Internet ISP 自己的机房 对网民提供访问Internet连接 理解OSI参考模型分层       第一层 应用层  (所有能产生网络流量的程序)       第二层 表示层  (数据在传送前是否进行 加密 .压缩 或 ACS码(文档类型) /二进制(图片) ,编码格式(显示乱码问题))       第三