编译原理的基本简介

本文深入探讨了编译过程的基本概念,包括机器语言、汇编语言及高级语言的区别,详细解析了编译器的工作原理及其各组成部分的作用,如词法分析器、语法分析器、语义分析器、中间代码生成器、目标代码生成器和代码优化器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器语言:可以被计算机直接理解,由二进制0与1组成

汇编语言:引入助记符,依赖于特定的机器

高级语言:类似于数字定义或自然语言的简洁形式

1.什么是编译:
编译:高级语言(源语言)翻译汇编语言或者机器语言(目标语言)的过程语言翻译成汇编语言或者机器语言的过程
 
2.编译器在语言处理系统中的位置:

 

 
 
3.编译器的结构:

 

 
编译器各个结构
作用
词法分析器
从左到右逐行扫描源程序的字符,识别出各个单词,确定单词的类型。
语法分析器
从词法分析器输出的token序列中识别出各类短语,并构造语法分析树
语义分析器
收集标识符的属性信息;语义检查
中间代码生成器
以三地址码的形式表示高级语言;生成语法结构树/语法树
目标代码生成器
以源程序的中间形式作为输入,并把它映射到目标语言;为程序中使用的变量合理分配寄存器
机器有/无关代码优化器
为改进代码所进行的等价程序变换,使其运行得更快一些、占用空间更少一些,或者二者兼顾
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值