收藏 分享(赏)

学习电脑信息 哪个顺序描述了一个编译器.doc

上传人:高**** 文档编号:141344 上传时间:2024-05-25 格式:DOC 页数:2 大小:19.50KB
下载 相关 举报
学习电脑信息 哪个顺序描述了一个编译器.doc_第1页
第1页 / 共2页
学习电脑信息 哪个顺序描述了一个编译器.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、哪个顺序描述了一个编译器以下哪个顺序描述了一个编译器(A)语法分析器,语义分析器,词法分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器有关代码优化器(B)语法分析器,语义分析器,词法分析器,中间代码生成器,机器有关代码优化器,代码生成器,机器无关代码优化器(C)词法分析器,语法分析器,语义分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器有关代码优化器(D)词法分析器,语法分析器,语义分析器,中间代码生成器,机器有关代码优化器,代码生成器,机器无关代码优化器第一章 引论1.1 语言处理器1. 编译器compiler:将源程序翻译成目标程序,生成目标代码快速,错误诊断效果差

2、。 解释器interpreter:用户提供源程序和输入,产生输出,较慢,错误诊断效果好。2. java语言处理:Java源程序字节码bytecode虚拟机解释执行3. 语言处理系统:源程序预处理器preprocessor经过预处理的源程序编译器目标汇编程序(便于输出调试)汇编器assembler可重定位机器代码连接器linker/加载器loader(库文件)目标机器代码。1.2 一个编译器的结构1. 编译器 = 分析部分(前端) + 综合部分(后端)2. 编译步骤:字符流词法分析器符号流语法分析器语法树语义分析器语法树中间代码生成器中间表示形式机器无关代码优化器中间表示形式代码生成器目标机器语

3、言机器相关代码优化器目标机器语言3. 词法分析(lexical analysis):读入字符流,将其组成为词素lexeme的序列,对每个lexeme,产生词法单元token输出:,其中token-name是由语法分析器使用的抽象符号,attribute-value指向符号表条目的信息,被语义分析和代码生成器使用。4. 语法分析(syntax analysis)/解析(parsing):将词法分析器产生的词法单元的第一个分量来创建树形的中间表示(语法树syntax tree)。5. 语义分析(semantic analyzer):使用语法树和符号表中的信息检查源程序是否与语言定义的语义一致(如:

4、类型检查)。6. 中间代码:在语法和语义分析之后生成:易生成、易翻译成机器语言。eg:三地址代码(three-address code),”三地址”指的就是两个运算分量(操作数1、操作数2)及目标操作数三个对象的地址。7. 代码优化:改进中间代码,以便生成更好的生成目标代码更快、更短、能耗更低。8. 代码生成:将源代码的中间代码生成目标语言,重点是合理分配寄存器以存放变量的值。9. 符号表管理:记录源程序中使用变量的名字和属性。10. 编译器的构造工具:语法分析器的生成器、扫描器的生成器、语法制导的翻译引擎、代码生成器的生成器、数据流分析引擎(代码优化)、编译器构造工具集。1.3 程序设计语言

5、发展历程1. 冯诺伊曼语言:C、Fortran面向对象语言:Simula、Smalltalk;C+、C#、Java、Ruby脚本语言/解释型语言:Awk、JavaScript、Perl、PHP、Python、Ruby、Tcl2. 强制式语言与声明式语言3. 1.5 编译技术的应用1. 高级程序语言编程容易、生成的目标程序运行慢,不能很好的控制每个计算过程。2. 数据流优化:对程序的数据流进行分析,并消除用户定义的聚合类型(数据和结构)和高级控制流(循环和过程调用)之间的冗余。3. 并行parallelism:指令层次多个运算被同时执行;处理器层次同一个应用多个不同线程在不同处理器上运行。4.

6、内存层次结构:由几层不同速度和大小的存储器组成。寄存器(几百Byte)高速缓存(几K到几M)物理寄存器(几M到几G)外部存储器(多G),相邻层次速度差两到三个数量级。5. RISC精简指令集计算机:PowerPC、SPARC、MIPS、Alpha、PA-RISC。CISC复杂指令集计算机:X866. 二进制翻译:将一个机器上的二进制代码翻译成另一个机器的二进制代码,使在一个机器上运行原本为另一个指令集(如:x86)编译的程序。7. Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言; VHDL:甚高速集成电路硬件描述语言。硬件设计在寄存器传输层RTL上描述门电路晶体管物理布局。8. 垃圾收集机制能够自动管理内存,从而消除了所有内存管理错误(如:内存泄漏)。Purify是能够动态地捕捉内存管理错误的工具。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿园

网站客服QQ:123456
免费在线备课命题出卷组卷网版权所有
经营许可证编号:京ICP备12026657号-3