编译原理(一)
来源:互联网 发布:mac 管理员不见了 编辑:程序博客网 时间:2024/05/01 05:46
1、为什么需要编译程序
早期的计算机程序员是使用0和1来编写程序的。这样写的话,很容易出错。而且不能分出精力来专注于具体的算法。。所以人们就设计出了一种语言的注记符号、、就是汇编。但是他也比较麻烦。。然后就发明了。所谓的高级语言。吧高级语言编程计算机能够识别的二进制代码的过程。就是编译。。编译技术是计算机发展史上的里程碑技术。编译其实就是翻译的过程。
2、编译的基本过程(参考人工翻译的过程。二者感觉没什么本质的区别)
编译的基本过程大致可以分为2个阶段,第一个阶段是对源语言的分析。第二个阶段是对目标语言的生成。具体步骤如下。。
第一步:编译器调用词法分析器
词法分析器输入的是源程序的代码。代码是一个长长的字符串。它的任务是扫描并且分析这个字符串。是她变成一个由词组成的串。。所以他的输出是有词组成的序列。
第二部:语义分析和中间代码生成阶段
输入的是语法树。输出中间代码。为了是最终产生的机器码有较高的效率。对四元式进行代码优化。
第三步:机器代码的生成阶段
吧经过优化处理的中间代码转换成特定机器上的语言代码。
3、转化为中间代码的原因
一、提高编译程序的使用效率(不同的机器有不同的机器语言)二、中间语言可以屏蔽硬件的复杂性
0 0
- 编译原理(一)
- 编译原理(一)
- 编译原理(一)
- 编译原理:(一)
- 编译原理 (一)
- 编译原理学习(一)
- 编译原理(一):引论
- 【编译原理】语法分析(一)
- 编译原理学习(一)--编译以及编译过程
- 编译原理(一)背景介绍
- 编译原理之文法(一)
- 【软考】(一)编译原理-文法
- 【编译原理】TINY编译器学习(一)
- 编译原理之常数处理机(一)
- 编译原理(一)词法分析器
- 【编译原理】概述总结(一)
- 编译原理学习笔记(一)体系结构
- 编译原理学习(一)词法分析器
- ARM 浮点运算,软浮点,硬浮点
- vs2010下vs2010 无效的数值参数“/Wno-deprecated
- Hive总结
- leetcode--Add Binary
- vlc-android 中调用用libvlcjni.so实现流媒体播放
- 编译原理(一)
- 记厂区停电,数据库及服务器关机异常
- 【Android UI设计与开发】第06期:底部菜单栏(一)使用TabActivity实现底部菜单栏
- 请教:过量喝咖啡对心脏的影响
- 消除“Unfortunately, System UI has stopped”的方法
- Thread.sleep(0)的意义
- oracle-em乱码问题解决
- 【Android UI设计与开发】第07期:底部菜单栏(二)Fragment的详细介绍和使用方法
- 从键盘输入,输出和JAVA