编译原理(龙书)学习笔记 第一章
编译原理(龙书)学习笔记 第一章
- 1.1语言处理器
- 解释器(interpreter) :
- 编译器(compiler):
- 一个语言处理系统
- 练习
- 1.1.1:编译器和解释器之间的区别
- 1.1.2:相对优点
- 1.1.3:编译器产生汇编而不是机器语言的好处是什么?
- 1.1.4:编译器使用C语言作为目标语言的好处
- 1.1.5:汇编器要完成的任务
1.1语言处理器
解释器(interpreter) :
不通过翻译的方式生成目标程序,从用户的角度来看,解释器利用用户提供的输入执行源程序中指定的操作
他对于错误的诊断效果比编译器更好,因为他逐个语句地执行源程序。
编译器(compiler):
就是一个程序,可以把一种语言编写的程序(源语言程序)翻译生成为另外一种语言编写的程序(目标语言程序)
一个语言处理系统
: 源程序经过预处理器(preprocessor) 生成经过预处理的源程序,再到编译器 形成目标汇编程序,再到汇编器 生成可重定位的机器代码,再到链接器/加载器 (链接器能解决外部内存地址问题,加载器把所有的可执行文件放到内存中执行)最后得到目标机器代码
练习
1.1.1:编译器和解释器之间的区别
编译器是一种程序,把源程序翻译成目标语言程序,并且报告错误。
解释器就直接执行源程序中指定的用户提供输入的操作
1.1.2:相对优点
编译器相对于翻译器:更快,C生成目标语言程序比翻译器inputs,outputs更快
翻译器相对于编译器:拥有更好的错误诊断,毕竟他是逐个语句执行源程序。
1.1.3:编译器产生汇编而不是机器语言的好处是什么?
汇编语言更容易生成并且更方便debug
1.1.4:编译器使用C语言作为目标语言的好处
C的编译器多,基本上可以编译到每一个硬件
1.1.5:汇编器要完成的任务
把汇编程序翻译成机器代码 机器代码是可重定位的。
编译原理(龙书)学习笔记 第一章相关推荐
- 《Go语言圣经》学习笔记 第一章 Go语言入门
Go语言圣经学习笔记 第一章 Go语言入门 目录 Hello, World 命令行参数 查找重复的行 GIF动画 获取URL 并发获取多个URL Web服务 本章要点 注:学习<Go语言圣经&g ...
- DX11龙书学习笔记---渲染管线
DX11龙书学习笔记---渲染管线 1.输入装配阶段 - 顶点 - 图元拓扑 - 点列表 - 线带 - 线列表 - 三角形带 - 三角形列表 - 带有邻接信息的图元 - 控制点面片列表 - 索引 2. ...
- DX11龙书学习笔记---准备工作
DX11龙书学习笔记---准备工作 1.交换链和页面翻转 深度缓冲区 多重采样 1.交换链和页面翻转 为了避免在动画中出现闪烁,最好的做法是在一个离屏(off-screen)纹理中执行所有的动画帧绘制 ...
- 小吴的《机器学习 周志华》学习笔记 第一章 绪论
小吴的<机器学习 周志华>学习笔记 第一章 绪论 近一年时间接触到不少机器学习的知识,虽然断断续续学了一些,总感觉还没有入门(只学会了疯狂调包).因此,最近开始系统学习Machine Le ...
- 计算机网络学习笔记---第一章
计算机网络学习笔记 第一章 文章目录 计算机网络学习笔记 第一章 前言 一.计算机网络的概念 (一)计算机网络的功能 1.数据通信(连通性) 2.资源共享(硬件 软件 数据) 3.分布式处理 (Had ...
- 机器人导论(第四版)学习笔记——第一章
机器人学导论(第四版)学习笔记--第一章 1. 概述 1.1 背景 1.2 操作臂力学和控制 1.3 符号 1. 概述 1.1 背景 工业自动化的发展带来了工业机器人的高速发展.本书聚焦机械臂的力学和 ...
- PhalAPI学习笔记 ——— 第一章自定义HelloWorld接口
PhalAPI学习笔记 --- 第一章自定义HelloWorld接口 前言 自定义接口 项目实例 结果 分布解析 结束语 前言 公司业务需要转学PHP,而PHP中一个功能强大且生态链完整的PHP接口框 ...
- [go学习笔记.第一章] go可以做什么
go可以做什么,go有以下三大学习方向: Golang的应用领域 1.区块链应用 区块链技术,简称BT(Blockchain technology),也被称之为分布式账本技术,是一种互联网数据库技术, ...
- 《编译原理-龙书》练习第4章
4.2 上下文无关文法 **4.2.7节中L={a^nb^n|n>=1}怎么用文法表示? S -> aAb A -> ab| ε 4.2.1 1) E -> EE* -> ...
最新文章
- boost::safe_numerics模块实现混合类型产生令人惊讶的结果的测试程序
- python generator_Python Generator漫谈
- Phenotips 项目源码分析 [0]
- 服务器提交任务和直接运行,实现简单服务器学习多线程与Executor
- springboot yml多环境开发
- 目标检测(二十二)--R-FCN
- 根据出库、入库表,实现对库存的信息查询
- 武-NC15522(Dijsktra最短路算法)
- 分享11个网页游戏和9个黑客源码,总有一款适合你
- SKU后台管理添加商品
- 【CSS系列】background-clip 定义用法
- [机翻] WIRER ON THE WIRE - SIGNALR协议的非正式描述
- IDA Python路径问题
- 窗口置顶工具v1.1.0
- 安卓开发规范-必读版
- 转行做产品经理,应该具备那些条件?
- 支付宝支付开发实践总结-Java-支付宝当面付-支付宝小程序-二维码生成-支付宝退款-APP调起支付宝支付
- mysql_d.dll_libmysqld.dll下载
- 大数据导论章节答案_高校邦大数据概论章节答案
- [附源码]java毕业设计网易云音乐推荐系统
热门文章
- IntelliJ IDEA中文网
- adb push报错‘read-only file system‘
- pytorch框架实现老照片修复功能详细演示(GPU版)
- 基于TI C55x架构的定点TMS320VC5509A音频专用DSP处理器开发板规格书
- 错误现象:(com.logicaldoc.core.security.dao.HibernateUserDAO 102) -- Packet for query
- 数据可视化之动态柱状图图表
- 程序员在国企是种什么体验,国企好还是互联网企业好!
- React基本使用、React脚手架的使用
- linux忘记root密码grab,安装完Linux后相关配置
- 使用easytrader时对xiadan.exe的配置