【编译原理】编译器简介及编译器结构概述

本文概述了编译器的基础知识,包括编译器的作用、与解释器的区别,以及编译的基本原则。编译器将高级语言转化为低级语言,通过前端、优化器和后端的多个阶段完成工作,确保不改变源代码的语义并进行优化。此外,解释了遍(Pass)的概念在编译过程中的应用。
摘要由CSDN通过智能技术生成

  今天开始总结编译原理的知识,但是感觉这门课有难度,嗯?无妨,就是干。第一篇:编译器简介及编译器结构概述。
  下方的图片摘自编译器设计第二版。本文参考编译器设计第二版(橡书)和编译原理第三版(陈火旺版)。

编译器简介

编译器是什么?

  我们平时编程所用的语言是高级语言,而机器只能识别机器语言。那什么做桥梁?编译器做桥梁。编译器是一个复杂的程序,它的工作是 将源语言程序(一般是高级语言)转化为 目标语言程序(一般是低级语言)。也就是下图所示:

  需要注意的是,不要纠结于编译器的源语言 是不是高级语言,目标语言是不是低级语言,编译器 的作用就是将一种语言 转化 为另一种等价的语言。(所谓等价指的是 hi 的中文意思 是 你好 而不是再见)。
  比如 有些编译器 可以将高级语言程序转换为另外的高级语言程序,这类编译器叫做 源到源的转换器。又比如,有些编译器 可以将低级语言程序 转换 为 高级语言程序,这类编译器叫做 反编译器
  当然回到常规的编译器来讲,机器要执行指令并产生结果,就必须要有编译器将高级语言程序转化为低级语言程序的这个过程。但是,有些语言则不同(如书中所提Perl ,Scheme,A

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值