
编译原理
hackerain
这个作者很懒,什么都没留下…
展开
-
编译原理之词法分析
词法分析的主要任务是对源程序进行单词序列化,主要是看得懂“状态转换图”,即所谓的“自动机”,程序的实现是根据状态转换图来完成的,图理解了,程序就非常好写了,一个状态是一个case,然后在不同的状态之间跳转,如果能够达到最后的状态,则说明符合某一个词法,那么程序就可以正确的识别这个单词了。在此举的一个例子是识别c语言的源程序的,程序也是用c语言写的,用c语言来识别c语言,好像有点不太对劲原创 2012-06-21 14:00:24 · 1305 阅读 · 0 评论 -
语法分析之LL(1)分析法
LL(K)分析方法是一种自顶向下的分析技术,这种分析方法是从左到右扫描源程序(输入串),同时从识别符号开始生成句子的最左推导,向前看K个符号,便能确定当前应选用怎样的规则。当K=1时,即是LL(1)分析法。LL(1)分析法中很重要的一块内容是分析矩阵的构造,这个分析矩阵是进行语法分析的依据,每一步都要靠它来决定如何进行,分析矩阵的构造方法如下:1. 对于A→ab(a∈Vt)原创 2012-06-21 14:16:23 · 16884 阅读 · 0 评论 -
编译原理之逆波兰表达式
逆波兰表达式就是所谓的后缀表达式,运算符号都在运算变量的后面,这样计算机进行计算的时候是非常方便和快捷的。将中缀表达式转换成后缀表达式的算法如下图所示:根据上图可以直接出来代码,另外转换为后缀表达式之后,对逆波兰表达式的计算就会很方便了,看下图:需要注意的是,重点不在写程序,重点在于这些个图是怎么出来的,这些也都是前人的总结啊,示例代码如下:#inc原创 2012-06-21 14:25:11 · 8720 阅读 · 0 评论