编译原理 第一章 编译程序的基本概念
Q: 如何记忆这节框架 ?
首先是什么 , 然后内部构成 , 之后是内部如此构成的原因(即功能 , 为什么需要这些结构)
什么是编译程序
编译程序(compiler)是一种翻译程序 , 它特指把某种高级程序设计语言翻译成具体计算机上的低级程序设计语言
Q:如何理解 ?
compiler是一个翻译器 , 一种语言翻译为另一种语言
Q:编译程序和解释程序区别 ?
编译程序产生目标代码 , 效率高 ; 解释程序不产生目标代码逐行运行 , 便于人机对话
编译程序结构
Q:如何记忆这个过程 ?
类比人的翻译 , 首先理解单词 , 即词法分析 ; 然后理解短语 , 即语法分析 , 即查看被翻译句子的结构;
之后是语义分析 , 相当于理解被翻译句子的含义 ;
然后生成中间代码并且优化 , 相当于在"心里"翻译了一遍 ;
最后生成目标代码 , 就是翻译成功
Q:语法分析语义分析区别 ?
语法分析是分析句法 , 语义分析是分析关系
比如我和他去吃饭 , 从自动机角度理解为句法 , 从主谓宾角度理解为语义
编译程序实现机制
Q:如何实现这个过程呢 ?
-
进行词法分析 , 为了便于管理不同单词 , 设定token串 ;
-
进行语法分析 , 从自动机语法角度生成语法树 ;
-
生成语义树 , 弄明白单词之间的关系 ;
-
生成中间代码并且优化 ;
-
生成目标代码
现在了解即可 , 后续章节会详细谈论每一步

浙公网安备 33010602011771号