
编译原理
文章平均质量分 54
细粉条
iOS开发妹子,wx号:lily-Dly,欢迎沟通交流!
展开
-
FIRST集和FOLLOW集以及SELECT集
一:什么是终结符和非终结符。终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导。非终结符:不是终结符的都是非终结符。如:S——>B,则S是非终结符。(一般书上终结符用小写,非终结符用大写。)二:文法产生语言句子的基本思想:从识别符号(开始符)开始,把当前产生的符号串中的非终结符替换为相应规则右部的符号串,直到全部由终结符组成。三:什么是FIRS转载 2014-02-26 15:25:49 · 3341 阅读 · 0 评论 -
正则表达式30分钟入门教程
近来看编译原理,里面提到正则表达式,不懂,所以上网查资料,发现一篇不错的文章,供大家学习。原文网址http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html一些要说的话:如果你没有正则表达式的基础,请跟着教程“一步步来”。请不要大概地扫两眼就说看不懂——以这种态度我转载 2014-02-18 13:46:32 · 1117 阅读 · 0 评论 -
LL(1)文法
可以构造确定的(不带回溯)自上而下分析的文法条件:(1) 文法不含左递归(2) 文法中每个非终结符A满足 A→α1 |α2 |…|αn 则: FIRST(αi)∩FIRST(αj)=Ø (i≠j)(3) 文法中每个非终结符A , 若它存在某个候选首符集包含ε, 则 FIRST(A)∩FOLLOW(A) = Ø如果一个文法G满足以上条件,则称该文法G为原创 2014-02-26 15:33:53 · 4860 阅读 · 0 评论 -
编译原理 消除左递归
一个文法含有下列形式的产生式之一时:1)A→Aβ,A∈VN,β∈V*2)A→Bβ,B→Aα,A、B∈VN,α、β∈V*则称该文法是左递归的。一个文法G,若存在P经过一次或多次推导得到Pa(即能推导出以P开头的式子), 则称G是左递归的。然而,一个文法是左递归时,不能采取自顶向下分析法。 左递归分为直接左递归和间接左递归。直接左递归经过一次推导就可以看出文法存原创 2014-02-25 17:46:03 · 29445 阅读 · 2 评论