编译原理—笔记

编译原理—笔记

翻译程序(Translator Process)

翻译程序,是指把某一种语言,翻译成另外一种语言。
并不特定于高级语言到低级语言之间的转换,可以是高级语言之间,或者低级语言之间的转换。
语言A -》翻译程序 -》语言B

编译程序(Compiler Process)

编译程序,是翻译程序的一个子集。编译程序把高级语言的源码作为输入,经过翻译,分析,处理优化之后,输出面向机器的语言。
机器语言就是目标程序,由计算机执行。
高级语言A -》编译程序 -》 机器语言B (编译过程存在中间语言)

编译的过程

  1. 词法分析:把表达式文本解析成词法元素列表(token list)。
  2. 语法分析:把tokenList解析成语法树(Syntax Tree)。
  3. 语义分析,源码优化并产生中间代码 :把语法树转成汇编语言的代码(asm)。

中间代码的优化

生成目标码 : 把汇编代码翻译为机器码(字节码)。
目标码优化

  1. 编译过程框图如下:
    a.词法分析(Lexical Analysis) -》 b.语法分析(Syntax Analysis) -》
    c.语义分析(Semantic Analysis) -》 d.中间代码的生成(Intermediate Code Generation) -》
    e.中间码的优化(Intermediate Code Optimization) -》 f.生成目标代码(Target Code Generation) -》
    g.目标码的优化(Target Code Optimization)

注:现代编译器将编译的过程分为三个阶段:Front end, Middle end, Back end<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值