![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
小蒟蒻pbc
2018-2022 北京师范大学人工智能学院(本科)
2022-2027 北京大学智能学院(直博)
展开
-
LR(0)分析表的构造
LR分析表的构造活前缀构造识别活前缀的DFA文法的拓广将文法G(S)G(S)G(S)拓广为G′(S′)G'(S')G′(S′)LR(0)项目构造识别文法所有活前缀的DFA通过计算项目集规范族构造识别活前缀的DFA有效项目有效项目的性质LR(0)项目集规范族的构造项目集的闭包CLOSURE状态转换函数示例LR(0)项目集规范族的构造算法示例构造LR(0)分析表的算法LR(0)分析表的构造构造LR(0)分析表的算法示例活前缀活前缀:是指规范句型的一个前缀,这种前缀不含句柄之后的任何符号。即,对于规范句型α原创 2020-11-29 00:21:06 · 10467 阅读 · 0 评论 -
LR分析法
LR分析法概述句柄和规范规约定义规范规约规范句型LR分析法规范规约VS句柄LR分析法的结构LR分析表LR分析法演示LR文法概述规范规约:句柄作为可规约串工作流程:将文法交给分析表产生器,产生分析表。将输入交给总控程序,配合上分析表,得到输出句柄和规范规约定义短语:令GGG是一个文法,SSS是文法的开始符号,假定αβδ\alpha \beta \deltaαβδ是文法GGG的一个句型,如果有:S⇒∗αAδS \xRightarrow{*} \alpha A \deltaS∗αAδ且A⇒+原创 2020-11-28 21:48:01 · 1071 阅读 · 0 评论 -
算符优先文法
算符优先文法概述自底向上分析优先关系算符文法算符优先文法构造算符优先表的算法确定算符优先关系构造集合FIRSTVT(P)FIRSTVT(P)FIRSTVT(P)的算法构造集合LASTVT(P)LASTVT(P)LASTVT(P)的算法构造算符优先表实例算符优先分析算法最左素短语最左素短语定理流程评价概述自底向上分析在自底向上分析中,分析过程的每一步都是从当前句型中选择一个可规约的子串,将它规约到某个非终结符。自底向上分析的关键问题是在分析过程中如何确定句柄或其他可规约串,也就是说如何知道何时在栈符号原创 2020-11-28 16:40:58 · 9171 阅读 · 0 评论 -
第二节.正则表达式
正则表达式正则表达式概念基本概念及操作基本概念基本操作归纳定义正则表达式的代数定律相等定义代数定律正则表达式的拓展正则表达式概念基本概念及操作基本概念一个正则表达式描述了一个定义在某个字母表Σ\SigmaΣ上的字符串的集合+一个描述空串的ϵ\epsilonϵ。字符串的这种集合称为一种语言。基本操作选择:两个字符串集合RRR和SSS的并集,记R∣SR|SR∣S,{x∣x∈R或x∈S}\{x|x \in R 或 x \in S\}{x∣x∈R或x∈S}连接:记RSRSRS,包含前面集合的任一元素原创 2020-10-21 10:49:37 · 217 阅读 · 0 评论 -
第一节.编译器介绍
编译器介绍编译器概述什么是编译器编译器的核心功能编译器与解释器编译器简史编译器结构编译器的高层结构抽象的多个阶段一种没有优化的编译器结构更复杂的一种编译器结构小结编译器例子示例小结编译器概述什么是编译器编译器是一个程序核心功能是把源代码翻译成目标代码编译器的核心功能源代码经过编译器的静态计算环节转换成了目标程序,然后目标程序经过计算机的动态计算得到计算结果注意:源代码与目标程序需要保证语义相同。编译器与解释器解释器也是处理程序的一种程序编译器的输出一般是可执行程序,解释器输出一般是原创 2020-10-12 16:35:16 · 352 阅读 · 0 评论