![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Compilers
文章平均质量分 74
Chasoncsdn
这个作者很懒,什么都没留下…
展开
-
形式语言分类
对语言进行分类,有利用找出形式各样的语言中的共同特征,为语言设计提供指导。目前流行的形式语言大致可按如下方式分类。 1 命令式语言 主要的开发语言都是命令式语言,如C, C++, Java, Basic, Pascal。以此种语言编写的程序可以看成是一系列可执行的命令语句的集合,每一条命令语句等价于一个状态转换函数。命令式语言中的控制结构允许程序的流程或者是顺序的,或者是可选的,或者是迭代循环的原创 2015-09-05 12:41:50 · 1019 阅读 · 0 评论 -
文法相关
0.文法 文法即语言中的每个句子可以用严格定义的规则来构造. 多用在编译程序和语言处理等领域,例如在编译程序中,根据一些指定的规则,来确定编程语言的语法,从而实现编译器的功能。 E -> T+E | T-E | T T -> F*T | F/T | F F -> (E) | i 它可以推导出任何一个算述表达式,例如这样一个表达式(i + i) * i,可以通过如下的文法推导获得:原创 2015-09-05 12:37:16 · 622 阅读 · 0 评论 -
左递归文法
一个文法G,若存在P经过一次或多次推导得到Pa(即能推导出以P开头的式子), 则称G是左递归的。 左递归分为直接左递归和间接左递归。 直接左递归经过一次推导就可以看出文法存在左递归,如P→Pa|b。 间接左递归侧需多次推导才可以看出文法存在左递归,如文法:S→Qc|c,Q→Rb|b,R→Sa|a有S =>Qc =>Rbc =>Sabc消除直接左递归的方法: 1、把所有产生式写成候选式原创 2015-09-05 12:49:52 · 4999 阅读 · 0 评论 -
compilers
0.编译器的整体构架 编译器: 词法分析->语法分析->中间代码生成->(代码优化)->目标代码生成的流程。 其中词法分析严重影响着编译器的性能,对词法分析的优化很必要。提高词法分析速度的一个主要途径是使用高效的缓冲管理机制。另一个主要的方面就是实现优化的匹配控制流程。 对于词法分析和语法分析有很多的代码自动生成工具,使用这些工具生成的代码据说速度也很快,一般初学者写出的词法分析和原创 2015-09-05 12:20:54 · 539 阅读 · 0 评论