编译原理
sandalphon4869
这个作者很懒,什么都没留下…
展开
-
编译原理(三)语法分析:8.自下而上语法分析
文章目录一、自下而上分析1.短语2.最左归约3.移进-归约分析器(1)工作模式二、构造SLR(1)分析器1.定义3.17 项目2.拓广文法与识别活前缀的DFA(1)拓广文法G'(2)NFA(项目)→DFA(项目集)(3)构造DFA:(4)项目集中的冲突【编译原理博客列表】》》》》》》一、自下而上分析自上而下分析的方法是产生语言的自然过程。但是对于分析源程序来讲,自下而上分析的方法更自然...原创 2020-01-03 09:53:19 · 3343 阅读 · 0 评论 -
编译原理(三)语法分析:7.LL(1)、LR(0)和SLR(1)
文章目录一、LL(1)1.意思2.判断3.推论3.2二、LR(0)和SLR(1)1.一、LL(1)1.意思第一个L代表从左到右扫描输入序列,第二个L表示产生最左推导,1表示在确定分析器的每一步动作时向前看一个终结符。2.判断当且仅当为它构造的预测分析表中不含多重定义的条目。有左递归和左因子的文法不是LL(1)文法。3.推论3.2G是LL(1)的,当且仅当G的任何两个产生式A→α...原创 2020-01-02 23:13:34 · 1915 阅读 · 0 评论 -
编译原理要背的简答题
文章目录一、第一章:引言1.简述编译器与解释器的主要共同点以及工作方式的差异。二、第二章:词法分析器1.说明 DFA 与 NFA 的主要差异三、第三章:语法分析1.说明消除文法二义性的方法有哪些四、语法制导1.简要说明在编译过程中引入中间代码的好处,以及中间代码应具有的特点。一、第一章:引言1.简述编译器与解释器的主要共同点以及工作方式的差异。共同点: 均完成对源程序的翻译;差异:编译...原创 2020-01-02 16:55:47 · 6725 阅读 · 1 评论 -
编译原理(三)语法分析:6.预测分析器
文章目录原创 2020-01-01 16:22:58 · 2218 阅读 · 1 评论 -
编译原理(三)语法分析:5.自上而下语法分析
文章目录一、自上而下分析的一般方法1.描述2.问题二、消除左递归1.定义2.消除直接左递归(1)算法3.1 消除直接左递归(2)例子2.消除左递归(1)算法3.2 消除左递归(2)例子三、提取左因子1.算法3.3 提取文法的左因子2.例子四、递归下降分析1.概念2.方法(1)文法的状态转换图:每个非终结符对应一个状态转换图(2)状态图的化简(3)文法的扩展BNF(EBNF)表示3.例(1)消除左递...原创 2020-01-01 00:05:54 · 2159 阅读 · 0 评论 -
编译原理(三)语法分析:5.自上而下语法分析
文章目录一、一、例3.20 用下述文法分析输入序列ω=cadS → cAdA → ab | a原创 2019-12-09 10:05:12 · 257 阅读 · 0 评论 -
编译原理(三)语法分析:4.上下文有关CSG、CSL和形式语言
文章目录一、上下文有关文法CSG1.引入原因一、上下文有关文法CSG1.引入原因程序设计语言中除了CFG可以描述的结构之外,还有一些是CFG无法描述的所谓上下文有关的结构。典型的这类语言结构包括:变量的声明与引用、过程调用时形参与实参的一致性检查等。所以引入上下文有关文法(Context Sensitive Grammar, CSG)例3.12 不能用CFG描述的语言:L1={ω...原创 2019-12-08 20:51:24 · 1490 阅读 · 0 评论 -
编译原理(三)语法分析:3.二义性与二义性的消除
文章目录一、二义性1.定义2.原因二、二义性的消除1.改写二义文法为非二义文法(1)步骤(2)例子(3)缺点2.为文法符号规定优先级和结合性一、二义性1.定义定义3.7若文法G对同一句子产生不止一棵分析树,则称G是二义的。例3.7 句子id+id*id和id+id+id可能的分析树E→E+E | E*E |(E)| -E | id“悬空(dangling)else”问题例...原创 2019-12-06 15:46:11 · 23042 阅读 · 4 评论 -
编译原理(三)语法分析:2.上下文无关文法CFG和上下文无关语言CFL
文章目录一、CFG的定义1.定义3.12.产生式的读法3.终结符与非终结符书写上的区分4.产生式的缩写形式二、CFG产生语言的基本方法:推导1.推导的符号`=>`上下文无关文法CFG(Context Free Grammar)上下文无关语言CFL(Context Free Language)一、CFG的定义1.定义3.1CFG是一个四元组G =(N,T,P,S),其中(1...原创 2019-12-06 12:00:29 · 10530 阅读 · 0 评论 -
编译原理(三)语法分析:1.语法分析的若干问题
文章目录一、语法的双重含意二、语法分析器的位置和作用三、语法错误的处理原则1.源程序中可能出现的错误2.语法错误处理的目标3.语法错误的基本恢复策略一、语法的双重含意语法规则:上下文无关文法(子集-LL文法或LR文法)语法分析:下推自动机(LL或LR分析器),自上而下和自下而上分析二、语法分析器的位置和作用语法分析器在编译器中的位置:语法分析器的两个重要作用:根据词法分析器提...原创 2019-12-06 11:32:23 · 2563 阅读 · 0 评论 -
【编译原理博客列表】》》》》》》
文章目录第一章:引言编译原理(一):引言第二章:词法分析器编译原理(二)词法分析:1.词法分析中的若干问题编译原理(二)词法分析:3.记号的识别―NFA与DFA...原创 2019-12-05 09:54:28 · 1100 阅读 · 0 评论 -
编译原理(二)词法分析:1.词法分析中的若干问题
文章目录一、词法二、词法分析器1.三个术语(1)记号(2)单词2.词法分析器的作用与工作方式三、模式的形式化描述一、词法立法:规定构词规则(词法规则)规定什么样的输入序列是语言所允许的合法单词。执法:词法分析根据构词规则识别出合法的单词和指出非法的输入序列。二、词法分析器1.三个术语模式(patten):产生和识别元素的规则记号(token): 按照某个模式(或规则)识别...原创 2019-12-04 00:18:57 · 1792 阅读 · 0 评论 -
编译原理(一):引言
文章目录语言翻译的两种基本形态编译器各阶段的工作(编译程序的工作过程)编译器扫描的遍数语言翻译的两种基本形态先翻译后执行边翻译边执行编译器各阶段的工作(编译程序的工作过程)编译程序的工作过程一般划分为5个阶段:词法分析语法分析语义分析和中间代码生成(可选)代码优化(可选)目标代码生成PS另外还有:符号表管理和出错处理意思解释:词法分析识别单词,至少分以下...原创 2019-12-03 22:52:25 · 540 阅读 · 0 评论 -
编译原理:题(二)符号表示含义
文章目录语言:L文法:G正规式:rNFADFACFG:上下文无关文法状态集:S字母表:Σ\SigmaΣLR(0)LL(1)FIRST集合FOLLOW集合SLR(1)DAG图原创 2019-12-02 15:07:01 · 1222 阅读 · 0 评论 -
编译原理:题(一)填空题
文章目录符号表管理 和 出错处理 是编译程序各阶段都涉及到的工作。在编译器的工作过程中,实现语言关键字大小写不敏感的阶段是 词法分析 ,分析语言结构的阶段是 语法分析 。程序的语义错误可分为 静态语义错误 和 动态语义错误。推导的过程可以用一棵树来表示,被称为 分析树。Lex和Yacc是用于生成 词法分析器 和 语法分析器 的工具。(注意是器)正规式→正规集不确定有限自动机中的...原创 2019-12-02 11:07:59 · 3595 阅读 · 0 评论 -
编译原理(二)词法分析:4.从正规式到词法分析器
文章目录一、构造一个NFA(Thompson 算法)二、确定化(从NFA到DFA)1.概念构造词法分析器(从正规式到词法分析器)的一般方法和步骤:设计正规式:用正规式描述模式;构造一个NFA:为每个正规式构造一个NFA,它识别正规式所表示的正规集;确定化:将构造的NFA转换成等价的DFA最小化:优化DFA,使其状态数最少从优化后的DFA构造词法分析器。一、构造一个NFA...原创 2019-11-18 15:28:39 · 3163 阅读 · 0 评论 -
编译原理(二)词法分析:3.记号的识别―NFA与DFA
文章目录NFA状态转换矩阵两种有限自动机(FA,Finite Automation):NFA(Nondeterministic Finite Automata,不确定的有限自动机)DFA (Deterministic Finite Automata,确定的有限自动机)三种转化形式NFA 的抽象定义状态转换图状态转换矩NFAM =(S,∑,move,s0,F)其中:...原创 2019-11-18 14:49:07 · 6790 阅读 · 0 评论 -
编译原理(二)词法分析:2.模式的形式化描述-正规式
文章目录第二章 词法分析语言识别?正规式(正则表达式)regular expression产生式第二章 词法分析三个术语:模式(pattern):即词法规则(产生和识别单词的规则)记号(token):按照某个模式识别出的元素单词(lexeme):被识别出的元素自身的值类比程序中的变量:模式:变量的类型记号:变量单词:变量的值。术语:有限字母表 ∑:如Σ...原创 2019-11-20 08:54:29 · 8355 阅读 · 0 评论