本学期学习了编译原理,感觉他跟前面的学习的计算机的有关的专业学科有一定的关联,比如数据结构,计算机组成与结构,编译原理,等等。
其中第一章讲了 编译过成的基本概述,其个部分组成及关系,
第二章在第一章的基础上 讲了一些基本的概念问题,语法,语义以及分类语法。如何判断文法的二义性。等,为以后几章的学习奠定基础。刚开始,这一部分没有掌握好,以至于以后的有点没听明白,后来在回过头来把这一章看明白就清晰了。
第三章是关于词法分析,讲了词法分析器的结构,输入,预处理方面了解了超前搜索,并且状态转换图在理解和方法的掌握方面遇到了一点小困难,其中有把正规式转换成NFA非确定的有穷自动机,然后NFA转换为DFA确定的有穷自动机。这个过程有点容易出错。上课的时候比较容易走神,走过一小会就后面跟不上了,之后状态装换图通过看了课下辅导的网课才弄明白,并且学明白以后发现运用起来还挺容易,没有很复杂。
第四章LL(1)文法的判断条件,子上而下分析对应自下而上规约。在文法分析过程中,需要消除左递归和循环,这个过程有公式,理解起来也不是很难,在做的过程中就有点跟看起来不太一样了,有的还是很简单,有的确实难。同时要掌握LL粉丝数和分析表。
第五章。LR文法自下而上规约,是LL的一个你过程,需要列分析表SLR分析表。
第六章,可能这张有点难,学习的内容也不是很多,依赖图的画法不太难,。
第七章讲了表达式的各种表示方法,有逆波兰式,图示,三元式,间接三元式,四元式等。以及他们之间的转换。
通过学习编译原理,发现这门课程其实跟前面学过的多门课程相似,比如逆波兰式跟计算机组成与结构中的前缀表达式和后缀表达式,以及画树状图与数据结构中的树状图,等等,然后在此方面更扩展加深了些难度,有的没听懂的,或者不会的在考前整理自学,弄懂了。总之编译原理交给我的不仅仅是编译原理。