
编译原理
文章平均质量分 81
余生相_
不断学习,不断努力~(ง •_•)ง
展开
-
编译原理学习笔记之词法分析
词法分析 一、一些概念 词法单元:编程语言中合法的字符串 词法记号:满足某种规则的词法单元,采用同一种记号 词法模式:词法单元和词法记号的对用规则 举个例子 词法分析器需要给记号以属性,用属性来记住记号的附加信息,以便需要时使用它们。比如 其中三个_op不是二元组,因为其第一个成分足以辨别词法单元,因此可以省略第二个部分 二、串和语言 串和语言:语言是串的集合,串是词法单元...原创 2018-09-08 10:49:07 · 1601 阅读 · 0 评论 -
编译原理学习笔记之词法分析中的状态机与自动机
有限状态机 关于词法记号的识别可以用有限状态机来描述 有限状态机以转化图的形式描述状态的转化 比如对于正规式d->a 其中初始状态为0,匹配到a之后,到达状态1,1的双圈表示最终状态;类似地 正规式d->ab 正规式d->a|b 正规式d->a* 该状态表示可以匹配零个a到达最终状态0,也可以匹配无数个a到达最终状态0 正规式d->a...原创 2018-09-12 15:53:30 · 5462 阅读 · 2 评论 -
编译原理学习笔记之自上而下分析Ⅰ
一、自上而下分析法 从根部开始构造语法树 自上而下分析法不能因为左递归存在而陷入死循环,不能产生回溯,即每一步推导的产生式必须是唯一的 1.消除左递归 左递归 形如A->Aa |b ,这种在创建分析树时一直在左子树死循环,因为推导的结果中最左还是A 或者多个推到式共同作用的间接左递归 消除直接左递归 如上式最终结果是以b开头的无数个a的串,因此改写成 A ->bA‘ ...原创 2018-10-02 12:50:56 · 932 阅读 · 0 评论 -
编译原理学习笔记之自上而下分析Ⅱ
一、FIRST集 FIRST(a)是从a 推导出的串的起始终结符的集合 计算方法 若X->a.., 则将终结符a加入FIRST(X)中 若X->e,则将e加入FIRST(X)中 若X->Y…,且Y属于非终结符,则将FIRST(Y)\{e}加入到FIRST(X)中 若X->Y1Y2..YK,且Y1,Y2,..Yi-1 (2≤i≤k)都是非终结符,且Y1,Y2,...原创 2018-10-02 16:32:46 · 858 阅读 · 0 评论 -
编译原理学习笔记之上下文无关文法
一、上下文无关文法 1.定义 上下文无关文法是这样一个四元组(VT , VN , S, P) VT:终结符集合,非空有限集合,记号名是其同义词 VN:非终结符集合,非空有限集合且VT∩VN=Φ S:开始符号 P:产生式集合,形如A -> a,A∈VN,a∈(VN∪VT)* 其中,终结符可以理解为词法单元,即是符号的最终形式,非终结符就是匹配终结符过程中引入的中间量, 例({i...原创 2018-09-30 17:01:31 · 18167 阅读 · 1 评论