编译原理之基础概念

编程原理之基础概念

提示:阅读本文大约3分钟。

学习编译原理有什么好处?

当你真正完成编译原理的学习后,你对你所写的程序、程序语言都会有更深的本质认识,这样的认识也会让你站的高度完全不同,并且知道编译的过程方法理论,可以为以后学习工作打下基础,而且编译原理并不仅仅是用来写编译器的,还可以在许多意想不到的领域进行应用。如果以后走工程方向的,学好编译原理可以基本囊括所有需要的技术,锻炼脑力,同时可以有广泛应用,更本质上说,让你理解你天天用的语言,这是优秀程序员需要具备的专研精神。

不学有什么损失?

不学编译原理,可能永远给各种写编译器的人当奴隶,以为写程序只能按照他们设计的语言哲学来做。学好了编译原理,不一定非要自己写语言,但是至少能把很多其他程序员觉得很酷的东西看得透彻一点,不会被程序语言的设计表象骗到太多。

概念:编译原理是对高级程序语言进行翻译的一门科学技术, 我们都知道计算机程序由程序语言编写而成,计算机存储的数据和执行的程序都是由0、1代码组合而成的,不方便程序员记忆。所以人们一直在研究如何开发高效的计算机程序。降低编程门槛。

首先我们先了解一下编译程序和解释程序:
图片来源于网络,侵删。在这里插入图片描述
简单来说编译程序就是将高级的程序设计语言翻译成计算机可以理解的机器语言。

在这里插入图片描述

编译程序的步骤:

在这里插入图片描述
词法分析:编译器会根据设定的语法规则,识别特定的单词并分类。主要有:关键字(int),标识符(a,b),常数(2,9),界符(: =+)。

语法分析:组词成句及语法错误检查。生成结果是一个语法树。

语义分析:分析各种语法成分。

优化处理:提高目标程序质量。

目标代码生成(汇编指令)

类似于外文翻译:
在这里插入图片描述
遍:编译程序对源程序或等价程序从头到尾扫描次数。

一般扫描两遍:
第一遍:词法分析,语法分析,语义分析。
第二遍:中间代码优化,生成目标代码。
在这里插入图片描述
第一次扫描后产生中间代码,保存结果。第二遍再对中间代码扫描。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值