编译原理结构梳理(未完成)

编译原理

1,编译原理概述

1.1,什么是编译

编译:高级语言(源语言)翻译成为汇编语言或者机器语言(目标语言)的过程。

编译器在语言处理系统的位置:

image

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

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

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

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

1.2,编译系统的结构

image

1.3,词法分析概述

词法分析:从左到右逐行扫描源程序的字符,识别出各个单词,确定单词的类型。将识别出的单词转换为统一的机内表示——此法单元(Token)形式。

token:< 种别码,属性值 >

image

1.4,语法分析

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

语法分析树描述了句子的语法结构。

例:

image

2,词法分析,语法分析的基本概念

2.1,字母表与串

2.1.1,字母表(Alphabet)

字母表∑是一个有穷符号集合

符号:字母,数字,标点符号等

image

字母表上的运算:
乘积,n次幂,正闭包(+),克林闭包(*)

2.1.2,串(String)

设∑是一个字母表,∀x∈∑*,x称为∑上的一个

串即为字母表中符号的一个有穷序列

串s的长度记为|s|,指的是s中符号的个数

空串用ε表示

串的运算:

连接,幂

2.2,文法

G = (VT , VN , P , S)

G:grammar,文法

VT :终结符集合

VN :非终结符集合 VT∪VN即为文法符号集

P : 产生式集合,产生式描述了将终结符和非终结符组合成串的方法

S :开始符号,S属于VN ,表示的是该文法中最大的语法成分

例:

image

个人总结:文法即为符号集的闭包中符合特定条件(产生式)的串的集合

posted @ 2022-03-30 17:43  xiiii  阅读(143)  评论(0编辑  收藏  举报