编译原理学习笔记(一)

第一章 绪论

一、什么是编译

(一)计算机程序设计语言及编译

1、高级语言(类似于数学定于或自然语言的简洁形式)、汇编语言(引入助记符,依赖于特定机器、非计算机专业人员使用首先)、机器语言(可以被机器直接理解)

2、汇编语言-》机器语言(汇编),高级语言(源语言)-》汇编/机器语言(目标语言)

(二)编译器在语言处理系统的位置

1、源程序-》预处理器-》经过预处理的源程序-》编译器-》汇编语言程序-》汇编器-》可重定位的机器代码-》链接器/加载器-》目标机器代码

2、链接器的一些其他作用

二、编译系统的结构

(一)人工英汉翻译的例子

1、源语言句子-》第一步,分析源语言(语义分析)-》句子的语义(中间表示)-》第二部,生成目标语言-》目标语言句子

中间表示《-语义分析(要划分句子成分)《-语法分析(句子结构)《-词法分析(句子中单词的词性,词类)

(二)编译器的结构

1、逻辑组织方式

【分析部分/前端:与源语言相关】

字符流-》词法分析-》词法单元流-》语法分析器-》语法树-》语义分析器-》语法树-》中间代码生成器

【独立于具体的语言,桥梁作用】

-》中间表示形式-》机器无关代码优化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值