正在学文法,单纯学文法,不知其所属、不知其用,学的实在是难受,其实文法是编译原理中编译原理的一部分,所以从编译原理开始学,先从高处看这些知识,对这些知识有宏观的把控,在细学其中的知识点,即“自上而下、逐级分解” 。
编译原理的职能是把程序设计语言的程序翻译为等价的机器语言程序,包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成,各部分之间的关系如图所示:
在概述阶段,先介绍这几个部分的作用,后续博客会仔细介绍每个部分的作用,当然包括头疼的文法。
词法分析
由图也可以看出,词法分析是编译程序的第一步,它接受的是源程序中的字符。词法分析阶段主要的作用是把接受的源程序转换为词法分析阶段可以处理的形式,分别有以下几个功能:
- 识别源程序中意义独立的最小单位(单词),然后确定其类型(标识符、关键字、操作符等)。