编译原理 - 学习笔记
编译原理
__Unique
求知若渴丶虚心若愚
展开
-
编译原理 1-5.语义分析概述
下面我们来简单介绍一下语义分析。语义分析是编译的第三个阶段,我们先来看一下语义分析的主要任务,我们说高级语言程序中的语句大体称为两类,一类是声明语句,一类是可执行语句。在声明语句中。会声明一些数据对象或过程,并且对他们分别起个名字就是标识符,那么对于声明语句来说,语义分析的主要任务就是收集标识符的属性信息和语义检查,先来说一下标识符都有哪些属性。首先是种属,也就是说一个标志符对应的是一个简单变量还是一个复合变量,比如说数组记录等等,还是一个过程。种属( Kind) 简单变量,复合变量(数原创 2020-11-17 19:58:13 · 2523 阅读 · 0 评论 -
编译原理 1-4.语法分析概述
语法分析是编译的第二个阶段,语法分析的主要任务是从词法分析器输出的token序列中识别出各类短语,并构造语法分析树,语法分析树描述了句子的语法结构例:赋值语句的分析树例:position = initial + rate * 60 ;序号<种别码 ,属性值 >1 < id ,position >2 < = , - >3 < id ,initial >4 < + , - >5 < id ,rate >6 <原创 2020-11-17 16:34:40 · 534 阅读 · 1 评论 -
编译原理 1-3.词法分析概述
词法分析是编译器工作的第一个阶段词法分析的主要任务是从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型将识别出的单词转换成统一的机内标识即词法单元(token)形式。token: < 种别码,属性值 > 大体分为以下五类单词类型种别种别码1关键字program,if,else,then,…一词一码由于关键字是可以事先确定的所以为每一个关键字分配一个种别码即一词一码。单词类型种别种别码2标识符变量名,数组名,记录名原创 2020-11-17 15:12:39 · 1416 阅读 · 0 评论 -
编译原理 1-2.编译系统的结构
编译的本质是一个翻译的过程,编译器的输入是一个高级语言程序,编译器的输出是一个汇编语言/机器语言编译器是如何翻译的此处借助人工翻译示例In the room, he broke a window with a hammer将这句英语当做源语言,将汉语当做目标语言其输入输出的过程如下源语言句子–>分析源语言–>句子的语义–>生成目标语言–>目标语言句子通过分析源语言来获得句子的语义的过程称为:语义分析语义分析的过程:首先找到句子的核心谓语动词“broke”(打)由此可原创 2020-11-17 13:16:06 · 306 阅读 · 0 评论 -
编译原理 1-1.什么是编译?
计算机语言分为三个层次高级语言–>汇编语言–>机器语言机器语言机器语言是由一串二进制数字组成的例如:C706 0000 0002 (以由二进制转换为十六进制方便阅读)该条示例的翻译为:将数值2存放到地址0000中由此可见机器语言表达习惯不适用于人类且记忆困难,编写困难,阅读困难等一系列问题于是很快出现了汇编语言汇编语言汇编语言中引入了助记符例如:MOV X,2 (假设X代表地址0000)该条语句执行了与上面的机器语言相同的功能因引入了助记符,汇编语言相对于机器语言更加直原创 2020-11-17 12:20:51 · 300 阅读 · 1 评论