![](https://img-blog.csdnimg.cn/20210115140508100.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编译原理学习笔记
文章平均质量分 89
MOOC网自学,师从NUDT王挺教授
MikeBennington
路漫漫其修远兮,吾将上下而求索
展开
-
编译原理学习笔记——第一讲 引论
编译原理学习笔记——第一讲 引论1. 什么是编译程序?1.1 Compiler(编译程序)1.2 Interpreter(解释程序)2. 为何学习编译原理?2.1 Computational Thinking(计算思维)2.1.1 Abstraction(抽象)2.1.2 Automation(自动化)2.1.3 Decomposition(分解)2.1.4 Recursion(递归)2.1.5 Tradeoff(权衡,折衷)2.2 学习编译原理的意义2.3 编译原理和方法的应用3. 编译过程3.1 词法分原创 2021-01-15 16:05:15 · 410 阅读 · 0 评论 -
编译原理学习笔记——第六讲 语法分析:自顶向下分析(递归下降分析程序)
编译原理学习笔记——第六讲 语法分析:自顶向下分析(递归下降分析程序)1. 构造递归下降分析器2. 扩充的巴科斯范式和语法图3. JavaCC简介1. 构造递归下降分析器定义全局过程和变量ADVANCE,把输入串指示器IP指向下一个输入符号,即读入一个单词符号SYM,IP当前所指的输入符号ERROR,出错处理子程序A→TE′ | BC |ε 对应的递归下降子程序为:PROCEDURE A;BEGIN IF SYM ∈ FIRST(TE’) THEN BEGIN T;E′ END原创 2022-02-25 14:51:56 · 806 阅读 · 0 评论 -
编译原理学习笔记——第二讲 高级程序设计语言概述
编译原理学习笔记——第二讲 高级程序设计语言概述1. 常用的高级程序设计语言2. 程序设计语言的定义2.1 语法2.2 语义2.3 程序设计语言的基本功能2.4 程序的层次结构3. 高级程序设计语言的一般特性3.1 高级语言的分类3.2 程序结构3.2.1 FORTRAN(第一个高级程序设计语言)3.2.2 PASCAL(结构化程序设计语言代表)3.2.3 Java(面向对象的高级语言)3.3 数据结构与操作3.3.1 数据类型通常包括三要素3.3.2 初等数据类型3.3.3 抽象数据类型(Abstract原创 2021-01-15 17:52:18 · 713 阅读 · 0 评论 -
编译原理学习笔记——第三讲 高级程序设计语言的语法描述
编译原理学习笔记——第三讲 高级程序设计语言的语法描述1. 文法1.1 文法1.2 语法描述的几个基本概念1.3 上下文无关文法2. 文法生成语言3. 语法树与二义性4. 形式语言鸟瞰1. 文法1.1 文法文法: 描述语言的语法结构的形式规则He gave me a book.1.2 语法描述的几个基本概念字母表:一个有穷字符集,记为∑字母表中每个元素称为字符∑上的字(也叫字符串) 是指由∑中的字符所构成 的一个有穷序列不包含任何字符的序列称为空字,记为ε用∑*表示∑上的所有字原创 2021-01-15 18:28:30 · 560 阅读 · 0 评论 -
编译原理学习笔记——第四讲 词法分析
编译原理学习笔记——第四讲 词法分析1. 词法分析器的设计——状态转换图1.1 词法分析概述1.2 词法分析器的设计1.2.1 词法分析器的结构1.2.2 超前搜索1.2.3 状态转换图1.2.4 状态转换图的实现1.2.4.1 不含回路的分叉结点1.2.4.2 含回路的分叉结点1.2.4.3 终态结点2. 词法规则的形式化3. 有限自动机等价性4. 正规式与有限自动机的等价性5. 词法分析程序自动生成1. 词法分析器的设计——状态转换图1.1 词法分析概述词法分析的任务:从左至右逐个字符地对源程序原创 2021-01-15 23:52:53 · 1136 阅读 · 0 评论 -
编译原理学习笔记——第五讲 语法分析:自顶向下分析
编译原理学习笔记——第五讲 语法分析——自顶向下分析1. 自顶向下分析的基本问题1.1 语法分析基本概念1.2 语法分析的方法1.3 自顶向下分析面临的问题1.3.1 回溯问题1.3.2 文法左递归问题2. LL(1)文法——消除文法的左递归2.1 消除直接左递归(左递归变右递归)2.2 消除间接左递归3. LL(1)文法——消除回溯3.1 FIRST集合与提取公共左因子3.2 FOLLOW集合3.3 LL(1)文法条件4. FIRST和FOLLOW集合的构造4.1 FIRST集合的构造4.1.1 α =原创 2021-01-17 22:39:36 · 846 阅读 · 0 评论 -
编译原理学习笔记——第六讲 语法分析:自底向上分析
编译原理学习笔记——第六讲 语法分析:自底向上分析1. 自底向上分析1.1 语法分析1.2 移进-归约分析示例2. 短语与直接短语3. 算符优先分析方法1. 自底向上分析1.1 语法分析自底向上分析:1.从输入串开始,逐步进行归约,直到文法的开始符号2.归约:根据文法的产生式规则,把串中出现的产生式的右部替换成左部符号算符优先分析法按照算符的优先关系和结合性质进行语法分析适合分析表达式LR分析法规范归约:句柄作为可归约串自下而上分析的基本思想1.采用“移进-归约”思想进行自下而上分原创 2021-01-18 19:38:10 · 1247 阅读 · 1 评论