编译原理总结

我不是女神ヾ 2022-05-22 01:13 316阅读 0赞

学了一学期的编译原理,一开始上课的时候,感觉老师嘴里的概念明明说的那么顺溜,可是到自己这就卡壳了,让我想起了一个梗:要考试了,在复习的时候,打开书,马冬梅,恩记住了,合上书,什么冬梅?打开书,马冬梅,合上书,马什么梅?归结起来就是书看的少。复习的时候课件认认真真的看了两遍,现在来梳理一下这门课。

70

上边这张图就是编译原理这门课所要学的内容。首先在学习语法分析之前,需要一些储备知识。比如字符、字符串及其运算,语言的概念。描述方法,文法及其有关概念,文法到语言及语言到文法之间的转换,句子句型的定义,文法的类型及区别,语法树的定义和构造,语法的二义性,如何根据判断二义性及消除二义性等。接下来讨论词法分析,词法分析,说白了就是识别并分类单词。所以涉及到如何识别单词和单词的分类和形式化描述,此时引入正规表达式和正规文法,通过正规式与正规文法的相互转化引入有限自动机(DFA和NFA)和状态图来识别单词。到这里就该进行语法分析了,而语法分析又分为自上而下分析的推导和自下而上的规约,自上而下分析需要从开始符起根据产生式一步步推导,此时会因为文法的左递归和回溯带来导致出现死循环。所以想办法消除左递归和回溯,从而引入了LL(1)文法,LL(1)文法又牵涉到first集和follow集,而针对LL(1)文法的分析程序的设计又分为两种方法,设计-递归下降分析程序实现语法分析和设计-预测分析程实现语法分析,所以LL(1)文法的判断很重要。而自下而上分析涉及到了短语、最左素短语、句柄、规范规约等一些重要概念,自下而上的分析有包括算符优先分析和LR分析法。到这里语法分析差不多就结束了。语义分析涉及到属性文法和语法制导翻译。而中间代码产生涉及到了中间代码的形式和翻译。后边的还没学到。

以上只是我自己对于这门课相关内容的理解,如有不合适的地方,希望大家指正。

发表评论

表情:
评论列表 (有 0 条评论,316人围观)

还没有评论,来说两句吧...

相关阅读

    相关 编译原理

    第一章: 编译过程的六个阶段:词法分析,语法分析,语义分析,中间代码生成, 代000码优化,目标代码生成 解释程序:把某种语言的源程序转换成等价的另一种语言程序——目标语

    相关 编译原理

    第一章 编译系统概论 单元测验1 1、 问题:编译过程中,语法分析器的任务不包括( ) 选项: A:分析单词是怎样构成的 B:分析单词串是如何构成语句和说明的

    相关 编译原理总结

      学了一学期的编译原理,一开始上课的时候,感觉老师嘴里的概念明明说的那么顺溜,可是到自己这就卡壳了,让我想起了一个梗:要考试了,在复习的时候,打开书,马冬梅,恩记住了,合上书