
编译原理
文章平均质量分 50
来自大山深处的Doge_
这个作者很懒,什么都没留下…
展开
-
编译原理龙书答案(MarkDown)
https://codechina.youkuaiyun.com/mirrors/fool2fish/dragon-book-exercise-answers?utm_source=csdn_github_accelerator原创 2021-01-04 15:13:26 · 4287 阅读 · 0 评论 -
如何求First集、Follow集和预测分析表
求First集:对每个非终结符,找出分别从它们开始能推出的所有的第一个终结符组成的集合求Follow集:对每个非终结符,找出分别紧跟它们的所有第一个终结符或$组成的集合,例如 F --> ( E ) | id,E 后面紧跟了 ) ,所以它的Follow集里面一定有 ),Follow集最后一定要加上 $例如下面的文法E --> T E'E' --> + T E' | εT --> F T'T' --> * F T' | εF --> ( E ) | idF原创 2020-12-03 17:26:58 · 1950 阅读 · 7 评论 -
编译与解释的区别是什么?使用编译与使用解释的语言举例?二者均使用的语言存在吗?
编译是把源程序的代码(源程序)编译成机器语言(目标程序),并保存成二进制文件,这样计算机可以直接根据二进制文件执行,速度很快,但编译器编写较复杂,生成的文件会占用外存空间。解释则是只在执行程序时,将源程序一行一行地解析成目标程序以便给计算机执行,运行速度不如编译后运行快,但占空间较小。使用编译的语言举例:C语言、C++、Pascal、Golang它们都是将程序编译为exe可执行文件,提供给计算机直接执行。使用解释的语言举例:JavaScript、Python、Ruby都是在运行时用解释器解释每原创 2020-12-03 17:03:56 · 250 阅读 · 1 评论 -
如何消除左递归
消去左递归即将 A --> Aα | β 转换为A --> β A' A' --> α A' | ε举个例子,例如下面的文法E --> E + T | TT --> T * F | FF --> ( E ) | id消除 E 和 T 的左递归后E --> T E'E' --> + T E' | εT --> F T'T' --> * F T' | εF --> ( E ) | id...原创 2020-12-03 16:36:13 · 1362 阅读 · 2 评论