编译原理
Adherer
sunshine
展开
-
伪代码的写法
伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 介于自然语言与编程语言之间。 它以编程语言的书写形式指明算法的职能。相比于程序语言(例如Java, C++,C, Dephi 等等)它更类似自然语言。它是半角式化、不转载 2016-04-09 17:42:34 · 9312 阅读 · 0 评论 -
编译原理FIRST集、FOLLOW集、SELECT集求法通俗解释 & LL(1)文法判定
1.为什么要引入FIRST集的概念?因为有公共左因子的问题,公共左公因子是指在文法的产生式集合中,某个非终结符的多个候选式具有相同的前缀。一般来说,公共左公因子的产生式为 A→αβ1│αβ2 A→\alpha\beta_1│\alpha\beta_2 如果有公共左因子的问题,那么只能采取试探的方法来分析每一个候选式,分析的过程很可能产生回溯,回溯分析法是一种不确定的方法。若所有候选式都没有原创 2017-06-10 17:50:36 · 42007 阅读 · 15 评论 -
自顶向下分析方法之表驱动LL(1)分析程序
自顶向下分析方法之表驱动LL(1)分析程序分为三个部分:非LL(1)文法转换为LL(1)文法;LL(1)文法的判别;构造预测分析表和对输入符号串进行分析。程序流程图:非LL(1)文法转换为LL(1)文法 非LL(1)文法转换为LL(1)文法要分以下三步:消除文法中一切左递归,包括直接左递归和间接左递归。提取左公因子,消除回溯。消除无用表达式。...原创 2017-06-02 10:06:46 · 9113 阅读 · 6 评论