编译原理
杨博东的博客
阿里云数据库-NoSQL组,开源贡献者,Valkey Contributor,Valkey-Java Client Maintainer。
展开
-
编译原理中Follow集的求法
经过前阵子的各种百度以及对课本的反复研究,终于弄明白了follow集的求法,下面记录一下!首先引用龙书里面的一段较为公式化的follow集求法的话:计算所有非终结符号A的follow(A)集合时,不断应用下面的规则,直到再没有新的终结符号可以被加入到任意的follow集合中为止。(1)将放到follow(S)中,其中S是开始符号,而放到follow(S)中,其中S是开始符号,而是输入右端的结束标记。转载 2016-10-27 21:56:13 · 24362 阅读 · 2 评论 -
【编译原理】语法分析——自上向下分析
经过词法分析的程序,我们能保证词法分析器识别了下面几种单词符号: 关键字:if、else、int、double、… 标识符:函数名、变量名、数组名 界符:各种括号 运算符:+、-、*、/、… 常数:整形、布尔型…接下来进行的语法分析我们需要保证它的语法是正确的,比如下面的语句在词法分析时是正确的:int double 2;词法分析程序会将语句判断为:<值,类型><in原创 2016-10-27 22:52:18 · 7807 阅读 · 0 评论 -
【编译原理】LL1文法语法分析器
上篇文章 【编译原理】语法分析——自上向下分析 分析了LL1语法,文章最后说给出栗子,现在补上去。说明:这个语法分析器是利用LL1分析方法实现的。预测分析表和终结符以及非终结符都是针对一个特定文法定义好的。输入的分析串必须以 # 开头和结尾。原始文法:E -> E + T | TT -> T * T | FF -> (E) | i消除左递归之后E -> TE'E' -> +TE' |原创 2016-11-30 23:23:14 · 35363 阅读 · 3 评论