编译原理笔记-01

中南大学编译原理慕课笔记整理

课程要求

  1. 了解计算结高级语言被计算机接受,扫描,词法分析,语义分析,语义解释执行的原理和过程

  2. 掌握编译原理和基本算法,各种概念和语言秒速

先导课程

  1. 组成原理-计算及组成结构

  2. 微机原理-汇编语言与机器语言

  3. 离散数据-推理机器完备性

  4. 数据结构-树,表的表示与实现

  5. 操作系统-提供虚拟机和系统调用

  6. 高级程序设计语言-语言定义和编程

编译原理引论

  • 编译程序 VS 翻译程序 VS 解释程序

    翻译程序: 将一种语言程序(源程序)翻译成另外一种语言程序(目标语言程序)

    编译程序:将一种高级语言等价的转换成一种低级语言(编译语言,机器语言)

    解释程序:将源程序输入但是不产生目标程序,而是边解释边执行

  • 编译过程

    (并非每个编译阶段都有以下过程)

    1. 词法分析

      扫描分解源程序的字符,识别出单词

      单词:逻辑上紧密相连的一组字符,字符具有集体意义

    2. 语法分析

      在词法分析的基础上,将单词序列分解成各类语法短语."程序,语句,表达式"

      语法单位,语法树

      语法规则:描述程序结构的规则

      语法分析确定整个程序是否在语法正确

    3. 语义分析

      类型检查

    4. 【中间代码生成】

    5. 优化

    6. 目标代码生成

  • 编译过程中的一些名词解释

    1. 遍(pass)

    2. 前端 VS 后端

      前端:与语言有关,也就是中间代码前,如果有中间代码生成的话,可以看成前端产生的结果

参考

  1. 中南大学编译原理慕课
  2. 《编译原理》-清华大学出版
慢慢来,比较快!基础要牢,根基要稳!向大佬致敬!
原文地址:https://www.cnblogs.com/rookie123/p/14648752.html