编译原理第一章

第一章引论

编译原理:理论与实际结合的最好典范

1.1什么是编译程序

翻译程序:把某一种语言程序(称为源语言程序)等价地转换成另一种语言程序(称为目标语言程序)的程序

编译程序:把某一种高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序

解释程序:它以该语言写的源程序作为输入,但不产生目标程序,而是边解释边执行源程序本身

1.2编译过程概述

词法分析,语法分析,语义分析与中间代码生成,优化,目标代码生成

词法分析阶段:依循语言的词法规则(或称构词规则),描述词法规则的有效工具是正规式和有限自动机。

语法分析阶段:依循语言的语法规则,语法规则通常用上下文无关文法描述。

语义分析与中间代码生成,依循语言的语义规则,使用属性文法描述。(四元式,三元式,间接三元式,逆波兰记号,树形表示)

优化:主要方面有公共子表达式的提取,循环优化,删除无用代码等。依循的原则是程序的等价变换规则。

目标代码生成:目标代码的形式可以是绝对指令代码或可重定位的指令代码或汇编指令代码

把中间代码变换成特定机器上的目标代码

依赖于硬件系统结构和机器指令的含义

1.3编译程序的结构

编译程序总框(五个阶段)

表格与表格管理:名字|信息

出错处理:语法错误,语义错误

遍(pass)    编译前端和后端

1.5编译程序的生成

移植方法,自展技术



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值