![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
文章平均质量分 66
lishichengyan
zju过气涂鸦爱好者
展开
-
Ubuntu安装flex和bison
在学习虎书,第二章练习要用lex和yacc,然而作者提供的网址上放的是flex和bison,当然这样更好啦(flex和bison完全兼容lex和yacc)。考虑到在windows下用这两个玩意还要安装masm,所以最后决定上虚拟机(之前操作系统课就装过了,幸亏没卸载哈哈哈)。Ubuntu下使用sudo apt-get install flex bison命令,不一会就装好了,如图:然后写了一个测试...原创 2018-03-10 20:29:48 · 40555 阅读 · 4 评论 -
flex使用手册翻译
原文网址在这里,一些我认为不重要的部分就略了。大部分是google翻译(毕竟一句一句慢慢看好再翻还是很累的好吧TAT),绝不代表本人的水平(滑稽.jpg)。不恰当的地方欢迎指正,也欢迎补充剩下的“略”。————————————————————————(我是萌萌哒昏割线)名称flex - fast lexical analyzer generator(快速词法分析生成工具)。概要flex [-bcd...翻译 2018-03-11 17:25:06 · 5197 阅读 · 1 评论 -
文法分析
1、递归下降语法分析(RDP)我们知道,对于一个CFG而言,不管规则多么复杂,规则集中总是会有非终结符到终结符的简单推导,就像递归中的出口一样。例如:这样的特点是递归下降法能够顺利执行递归的基本条件。RDP做的事情就是把每个非终结符看作是函数,从这个非终结符推导出的规则是函数体。例如:可以看到,函数体内部的书写范式是:case 终结符{eat(终结符);处理下一个;}RDP是一种预测分析,预测的意...原创 2018-03-25 20:34:57 · 4354 阅读 · 0 评论 -
详解递归下降分析法
通过一个具体的例子来学习递归下降分析法。假设有文法:E -> TE`E` -> +TE` | -TE` | εT -> FT`T` -> *FT` | /FT` | εF -> (E) | i现在希望用递归下降的方式写一个能识别这种语言的parser。首先我们去求非终结符的FIRST和FOLLOW集合,如下: FIRST...原创 2018-11-18 11:52:31 · 26348 阅读 · 10 评论