
编译原理-杂项
_枸杞子_
软件工程专业学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编译原理-求文法G的预测分析表
前言 为什么求预测分析表:为了消除回溯,前面做了许多准备。其中关键是FIRST集合和FOLLOW集合,它们两个组合,达到了预测候选式的目的。为了使计算机比较好处理,把它们的预测结果统计成一张二维表,这就是求预测分析表的原因 定义:M[A][a] 是一个二维数组,其中行A表示的是栈顶符号,a表示的读头下的符号(A为非终结符,a为终结符),它们存放的是当前状态下所使用的候选式(或存放出错标志,指出A不该原创 2018-05-04 15:38:39 · 4221 阅读 · 1 评论 -
编译原理-LL(1)文法
前面说的像消除左递归、提取最左公因子、求FIRST集合……,今天给它一个称呼,叫作LL(1)文法 LL(1)文法:若文法G的预测分析表M中不含有多重定义项,则称G为LL(1)文法 判断一个文法是不是LL(1)文法当且仅当对于G的每个非终结符A的任何两个产生式A → α | β,有: // 消除左递归,提取最左公因子的情况下 1)FIRST(α) ∩ FIRST(β) = ∅ 2)若ε ∈ FIRST原创 2018-05-07 10:24:44 · 6805 阅读 · 1 评论 -
编译原理-自底向上优先分析概述
前言 前面学了自顶向下的分析方法,它是使用推导的方式进行语法分析。这里学的自底向上优先分析是使用规约进行的语法分析 自底向上优先分析的原理:从输入串开始,朝着文法的开始符号进行规约,直到到达开始符号。这是一个最左规约的过程 自底向上优先分析的分类:简单优先分析法、算符优先分析法 自底向上分析所使用的自动机是PDA(下推自动机) 工作方式“移进-规约” 从左至右让输入串进栈,在移动的过程中不断查看栈顶原创 2018-05-07 10:25:07 · 2781 阅读 · 0 评论