01-编译原理概论

nobility 发布于 2020-01-18 2540 次阅读


概论

  • 编译程序是指:将高级语言翻译成汇编语言或者机器语言
  • 编译过程
    1. 词法分析:拼写,识别出一个个单词(保留字、运算符、分界符、标识符、常量)
    2. 语法分析:语句结构、表达式结构括号匹配,赋值和运算符两端必须有值
    3. 语义分析:类型匹配数据类型不对是否要强制转换,赋值给常量
    4. 中间代码产生(非必须产生)伪汇编代码,四元式(运算符,运算对象1,运算对象2,结果)
    5. 代码优化:为了产生更高效的目标代码,更加省时间和空间
    6. 目标代码生成
  • 表格管理:编译过程中源程序的各种信息,保留在不同的表中,最重要的是符号表(变量信息表)
  • 出错处理:能处理的错误处理,不能处理的错误可以继续编译,也可以终止编译
    • 编译时错误:词法、语法错误
    • 运行时错误:编译程序不管
  • 以中间代码产生分隔前端和后端:前端依赖与源程序,后端依赖目标计算机
    • 一遍扫描:一遍扫描将前端工作全部干完,即一个单词一个单词的进行词法分析,语法分析,语义分析,废空间省时间
    • 多遍扫描:每一遍扫描都将全部单词进行词法分析,语法分析,语义分析,省空间废时间
  • 解释程序效率低,编译程序效率高
此作者没有提供个人介绍
最后更新于 2020-01-18