0909 对于编译原理的初步了解

  编译原理是一门专门研究设计和构造编译程序原理和方法的课程,旨在介绍编译程序构造的一般原理和基本方法,这门课程实际上蕴含着计算机学科中解决问题的思路、形式化问题和解决问题的方法,这些思路和方法对应用软件和系统软件的设计与开发都有一定的启发和指导作用。其主要内容包括:结构及各部分功能、文法和语言的基本概念和表示、词法分析、语法分析、属性文法与语法制导翻译技术、符号表、运行时存储空间的组织、代码优化与目标代码生成、并行编译技术概述等。

  编译原理,虽然是大学里开的一门课程,但对于自身来说,也是有非常重要的作用的。编译是从源代码到能直接被计算机或虚拟机执行的目标代码的翻译过程。在这个过程中,就可以更多的去了解和追寻计算机语言的本质,如在里面运用了什么算法,对于死代码的解决方法,对数据的分析,词法分析与语法分析等。

  对于如何学习编程原理,目前自己还没有一个明确的计划,刚刚接触这门课程,还不是很了解,但也看了许多介绍,所以也有一些小小的见解。例如在学习的过程中,要多多实践,要学会运用。学习的最终目的就是要拿来用,所以在学习过程中就要理解彻底,在制作编译器的过程中也要注重过程,特别是代码的处理。

  对于写编译器,我个人认为编译器最主要的部分就是源程序转化为目标代码,在这个过程需要考虑的问题还有很多,例如机器的运行环境。而且也要注重中间代码的生成,这些都决定了目标代码的正确性。在写完后也要对代码进行不断地优化,同时也要对于编译器的工作方法要有明确的认知。

原文地址:https://www.cnblogs.com/wangzekai/p/4798084.html