1-编译原理笔记

编译器:也是一个程序,把源程序转变为等价的另一种源程序(比如汇编==机器语言)

词法分析

变量,函数都是标识符。

符号表-标识符相关的各种属性,贯穿编译的各个过程,每个过程都可能添加修改表数据:

若是变量名,名称,类型,kind种属(简单,复杂),值,存储位置,作用域

若是过程名,名称,类型,参数,返回值类型。

语法分析-建立语法树-先根中根后根

语义分析

存储分配

二、编译基础:形式语言与自动机

字母表:有穷非空字符集,可识别符合{a-z,A-Z,0-9

字符串:字母表中符合组成的任何有穷序列

字符串运算符

连接:xy称为x,y的连接,比如int x

闭包:A*=A0 u A1 u A2... //任意长度的集合,A0={e} 空串

正闭包:A+ = A* - A0

对于任何一个句子,存在两个过程,都以语法为规则。

读--识别过程--编译的过程

写--推导过程--书写源程序

集合图论==离散数学,是形式语言的基础,形式语言是数学范畴。是编译的基础

文法是个四元组G=(Vn非终结符,Vt终结符,P产生式,S开始符号)

 

猜你喜欢

转载自luckywnj.iteye.com/blog/1744661