![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
编译原理
饭泡开水
瞎搞
展开
-
文法左递归的消除(QT/C++)—— 编译原理
编译原理-消除左递归的方法原创 2020-06-21 17:50:55 · 2901 阅读 · 1 评论 -
CFG文法及左递归的消除——编译原理
1、递归(1)递归产生式:形如:A->xAy, x,y∈\in∈(VT⋃\bigcup⋃VN)*,A∈\in∈V~N的产生式称为递归产生式(2)直接左递归产生式在递归产生式的基础上,若x = ε\varepsilonε,有A->Ay这个称为直接递归产生式(3)直接右递归产生式2、消除直接左递归3、消除间接左递归...原创 2020-06-09 18:25:55 · 2259 阅读 · 0 评论 -
QT/C++实现有界面的词法分析器——编译原理
1、判断是否为标识符、关键字和数字判断是否为一个字母、下划线、$或者一个数字;if(lexer.IsLetter(temp_word[i]) || temp_word[i] == '_' || temp_word[i] == '$' || lexer.isInteger(temp_word[i])){如果出现第一个字符为数字的情况,则先将这个以数字为开头的字符串的内容 保存至word字符数组中;if(lexer.isInteger(temp_word[i]) && j =原创 2020-06-16 10:27:06 · 3095 阅读 · 1 评论 -
文法构造习题
1、{ an | n >= 0 }G[S]:S -> aaaS | ε\varepsilonε考虑边界,ε\varepsilonε为空(即n=0时)2、{ anb2m-1 | m,n >=1 }2m-1:b的个数为奇数个G[S]:S -> ABA -> aA | aB -> b | bbBB -> b | bbB 使以一个b开头,两...原创 2020-03-04 16:01:59 · 2120 阅读 · 0 评论