篇一:编译原理 学习心得
国际学院 0802 杨良燕 200819100227
《编译原理》课程学习心得
《编译原理》是计算机专业的一门重要课程,正如教材
第一章的引论所述,“编译程序是现代计算机系统的基本组成部分之一”。“一个编译程序就是一个语言翻译程序,语言翻译程序把一种语言(源语言)书写的程序翻译成另一种语言(目标语言)的等价程序”。
通过这一学期的学习,我觉得编译原理是一门理论性很强的课程,从文法和语言的概念到LL(1)文法和LR(0)文法的分析,几乎都是对具体问题的抽象。因而,我们需要更多的时间来理解、掌握相关的知识,当然在这一过程中也存在很多问题,比如我们后期学习具体文法的分析方法时,对于文法的概念不够清晰,影响了上课的效率,知道老师再次给我们讲解了文法等基础的知识点,我们才慢慢掌握后面所学的LL(1)文法等,也发现了知识点之间的关联。此外,这门课程的课时被安排得很少,一周只有一次,这样很不利于我们对这门重要课程的理解和掌握。但是我觉得我们很幸运,因为老师在有限的课程中尽量将知识点以比较容易接受的方式给我们讲解,教我们用简单的方法理解记忆不同的知识,对于我们提出的问题,无论课上或是课外,老师一直是不厌其烦,甚至利用课余时间为我们讲解重要的难题。
编译原理这门课程不仅仅在于其本身的理论价值,更在于为我们解决问题提供的思维方式和方法。从LL(1)到LR(0),问题不断被解决的同时,又有一个个新的问题提了出来。对计算机语言世界的知识积累,像滚雪球一样越滚越大。这个逐渐递进,逐渐解决问题的过程对我来说是收获很大的。整个过程好像踏着前人研究编译理论的路线,不断感觉他们遇到的问题,更重要的是他们解决问题的思路。编译原理的课程带给我的不只是如何去编译程序这样的理论知识,相信更重要的是一种如何“自动计算”的思路。通过对相关编译问题的具体分析,让我体会最深的是一种“自动计算”的思想,同时完成编译试验后,更是感到了一种“自动计算”的快乐。”然而我明白自己虽然对编译有了一定的了解,我懂得了文法的分析,学会了构造确定和非确定有限自动机,学会了LL(1)文法和LR(0)文法等,但是并没有完全掌握,对于这些知识点的实质性和其他方面,更是认识不深。作为一名学习计算机科学与技术的学生,我明白编译原理是软件工程的基础,课程的结束并不意味着学习的结束,只有通过以后的学习,才能更深入地了解编译原理。