《计算机编译原理概念总结》由会员分享,可在线阅读,更多相关《计算机编译原理概念总结(11页珍藏版)》请在人人文库网上搜索。

1、第一章 引论?为什么要用编译器? 与编译器相关的程序? 翻译步骤? 编译器中的主要数据结构1、语言处理器1、简单的说,一个编译器就是一个程序,它可以阅读以某一种语言(源语言)编 写的程序,并把该程序翻译成一个等价的、用另一种语言(目标语言)编写的程序。2、编译器的重要任务之一就是报告它在翻译过程中发现的源程序中的错误。3、使用编译器是为了提高编程的速度和准确度。4、与编译器相关的程序:解释程序( interpreter )、汇编程序( assembler)、连接程 序(linker )、装入程序( loader)、预处理器(preprocessor)、编辑器( editor)、调试程序( de。

2、bugger)、 描述器( profiler )、项目管理程序( project manager )。ProgramTranslatorSourceProgramObject5、解释器是另一种常见的语言处理器。它并不通过翻译的方法生成目标程序。从用户 的角度来看,解释器直接利用用户提供的输入执行源程序中指定的操作。OutputLoader, Linker and Run-timeSystem6、一个源程序可能被分割成多个模块,并存放于独立的文件中。把源程序聚合在 一起的任务有时会由一个被称为预处理器(preprocessor)的程序独立完成。预处理器还负责把那些称为宏的缩写形式转换为源语言的语。

3、句。7、连接器( linker )能够解决外部内存地址的问题。8、加载器( loader )把所有的可执行目标文件放到内存中执行。2、一个编译器的结构AssemblyCodeSourceProgramMachine independent asm to machine dependent1、将编译器看成黑盒,则源程序映射为在语义上等价的目标程序,而这个映射由两部分组成:分析部分和综合部分。2、分析部分把源程序分解成多个组成要素,并在这些要素之上加上语法结构。3、综合部分根据中间表示和符号表中的信息来构造用户期待的目标程序。4、编译器的第一个步骤:词法分析(lexical )或扫描( scann。

4、ing )。词法分析器读入组成源程序的字符流,并且将它们组成有意义的词素(lexeme)的序列。词法分析器产生词法单元( token)。5、分隔词素的空格会被词法分析器忽略掉。6、编译器的第二个步骤:语法分析( syntax)或解析( parsing )。语法分析器使用 由词法分析器生成的各个词法单元的第一个分量来创建树形的中间表示。7、语义分析( static semantic analysis ):语义分析器使用语法树和符号表中的信息 来检查源程序是否和语言定义的语义一致。 它同时也收集类型信息, 并把这些信息存放 在语法树或符号表中, 以便在随后的中间代码生成过程中使用。 语义分析的一个。

5、重要部 分是类型检查( type checking )。编译器检查每个运算符是否具有匹配的运算分量。8、总的说,编译器的翻译步骤是:扫描程序 语法分析程序 语义分析程序 源代码优化程序 代码生成器 目标代码优化程序。3、编译器结构中的主要数据结构1、记号( token )2、语法树( syntax tree)3、符号表( symbol table )4、常数表( literal table )5、中间代码( intermediate code )6、临时文件( temporary file )4、将编译器分成了只依赖于源语言(前端(front end )的操作和只依赖于目标语言(后端( bac。

6、k end )的操作两部分。第二章 词法分析? 扫描处理? 正则表达式? 有穷自动机? 从正则表达式到 D FA? 利用 L e x 自动生成扫描程序1、Tokens 记号标记: identifiers 、keywords 、integers、floating-point 、symbols 、strings、comments1、使用正则表达式去描述程序语言 tokens2、一个正则表达式是归纳确定3、一个正则表达式 R 描述一组字符串集合 L(R)4、L(R) = the language defined by R5、所有的 token 都能用正则表达式表示2、正则表达式:1、基本正则表达式:。

7、他们是字母比哦啊中的单个字符且自身匹配2、正则表达式运算:1、从各选择对象中选择,用元字符“ |”表示2、连结,由并置表示(不用元字符)3、重复或“闭包” ,由元字符“ *”表示3、从各选择对象中选择:4、连结:正则表达式 r 和正则表达式 s 的连接可写作 rs5、重复:正则表达式的重复有时称为Kleene 闭包( Kleene) closure),写作 r*6、运算的优先和括号的使用:前面的内容忽略了选择、连接和重复的优先问题。7、正则表达式的名字:为较长的正则表达式提供一个简化了的名字很有用处,这样就 不再需要在每次使用正则表达式时书写常常的表达式本身了。3、有穷自动机(有穷状态机) :。

8、是描述(或“机器” )特定类型算法的数学方法。1、确定性有穷自动机:下一个状态由当前状态和当前输入字符惟一给出的自动机。2、非确定性有穷自动机:由它产生的。4、从正则表达式到 DFA1、构造一个个扫描程序的自动过程可分为3步2、从正则表达式到 NFA3、从 NFA 到 DFA4、将 DFA 中的状态最小化第三章 上下文无关文法及分析? 分析过程? 上下文无关文法? 上下文无关语言的形式特性? 分析树与抽象语法树? 二义性1、分析过程:2、上下文无关文法:3、分析树与抽象语法树:4、二义性: 可生成带有两个不同分析树的串的文法称作二义性文法( ambiguous grammar ) 有两个解决二。

9、义性的基本方法。是正其一是:设置一个规则, 该规则可在每个二义性情况下指出哪一个分析树(或语法树) 确的。另一种方法是将文法改变成一个强制正确分析树的构造的格式,这样就可以解决二义性了。第四章 自顶向下的分析? 使用递归下降分析算法进行自顶向下的分析? LL(1) 分析? First 集合和 F o l l o w 集合1、使用递归下降分析算法进行自顶向下的分析2、LL(1) 分析方法是这样得名的:第 1个“ L”指的是由左向右地处理输入(一些旧式的分 析程序惯于自右向左地处理输入,但现在已不常用了)。第2个“ L”指的是它为输入串描绘出一个最左推导。括号中的数字 1意味着它仅使用输入中的一个符号来预测分析的方向。3、定义:如果文法 G相关的 L L ( 1 ) 分析表的每个项目中至多只有一个产生式,则该文法 就是 L L ( 1 ) 文法 (LL(1) grammar)。

计算机编译原理 张,计算机编译原理概念总结相关推荐

  1. 【编译原理】计算机考研复试问答题总结

    [编译原理]计算机考研复试问答总结 因为复试专业课需要考编译原理,线上复试总结一些编译原理的相关题目~ (ps:只是一些面试的一些概念简答题,如果有笔试相关类型的题目要好好写) 第一章 编译概述 Q1 ...

  2. 计算机的编译原理pdf,计算机编程基础--编译原理.pdf

    第一章 引论(1) 1.1 什么叫编译程序 编译程序:是指这样的程序,它能够把某种 语言的程序转换成另一种语言的程序, 而后者与前者在逻辑上是等价的.如果 源语言是诸如FORTRAN.Pascal.C ...

  3. 计算机输入输出设备说课稿,信息技术七年级西交大版 第三节 计算机系统的组成与工作原理计算机系统及工作原理说课稿 (共15张PPT)...

    <信息技术七年级西交大版 第三节 计算机系统的组成与工作原理计算机系统及工作原理说课稿 (共15张PPT)>由会员分享,可在线阅读,更多相关<信息技术七年级西交大版 第三节 计算机系 ...

  4. 【编译原理】期末 龙书概念梳理+做题方法(混子保过指南+学霸提分秘籍)

    编译原理期末总结 龙书概念梳理+做题方法 目录 编译原理期末总结 龙书概念梳理+做题方法 编译概述 1 编译过程 2 编译&解释 3 GCC的处理过程 词法分析 1 词法分析的任务 2 词法分 ...

  5. 计算机动态图显示原理,30张传感器工作原理动态图

    这里分享30张传感器工作原理的动态图,非常全面,建议大家收藏起来!什么是传感器?传感器是能够感受规定的被测量并按一定规律转换成可用输出信号的器件或装置的总称,通常被测量是非电物理量,输出信号一般为电量 ...

  6. 微机原理和计算机组成原理一样吗_计算机组成原理:计算机的层次与编程语言...

    计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...

  7. 基于c语言的编译原理课程设计,编译原理课程设计心得体会

    与<编译原理课程设计心得体会>相关的范文 本文由leishensc贡献 doc文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看. 2008-2009 学年第二学 ...

  8. 编译、汇编、翻译原理知识概括

    编译.汇编.翻译原理知识概括 机器语言,汇编语言,高级语言 翻译.汇编.编译.解释 编译程序 机器语言,汇编语言,高级语言 简述: 高级语言和汇编语言都必须转化成机器语言才可以被计算机执行. 机器语言 ...

  9. 计算机的基本组成及其工作原理

    计算机的基本组成及其工作原理 https://blog.csdn.net/sunshine_hsm/article/details/81536509 1.1 计算机系统的组成  计算机系统是由硬件系统 ...

最新文章

  1. SpringCloud系列十二:SpringCloudSleuth(SpringCloudSleuth 简介、SpringCloudSleuth 基本配置、数据采集)...
  2. mybatis-generator自动生成mapper
  3. php+ajax+jquery实现jsonp跨域
  4. php使用imagemagick,PHP的ImageMagick使用;
  5. spark-2.1.0 集群安装
  6. oracle中日期处理方法 汇总
  7. leetcode270. 最接近的二叉搜索树值
  8. 在linux下使用360随身wifi 2 | 李凡希的blog,在Linux下使用“360随身WiFi 2”
  9. 微软BI 之SSIS 系列 - 通过设置 CheckPoints 检查点来增强 SSIS Package 流程的重用性...
  10. 【HUST】公选抢课|用Auto.js模拟蹲课过程
  11. 注册表删除windows开机启动项
  12. mac电脑键盘失灵怎么办
  13. 记录第一次使用nvidia tao训练模型的过程
  14. 从 Debian 10 (Buster) 升级到 Debian 11 (Bullseye)
  15. 郭博分析modbus主机模式
  16. 工资3000,靠国际版抖音TikTok月入2W+:这个风口真的很赚钱!
  17. (二)u-boot2013.01.01 for TQ210:《Makefile分析》
  18. 关于在固态硬盘(ssd)上的Win10系统是否需要优化驱动器选项的调查
  19. 四门轿跑 标致发布Exalt概念车设计图
  20. Windows Update Downloader:系统补丁离线打

热门文章

  1. 辽宁省计算机辅助普通话水平测试应试指南,计算机辅助普通话水平测试 应 试 指 南...
  2. 搭建高校AI大数据实训室,2019高校大数据科研教学整体解决方案,数道云
  3. 【JDK1.8】JDK1.8集合源码阅读——Set汇总
  4. Crontab 计划任务
  5. jQuery中的 ||
  6. 【…感激2008,部署我的2009…】
  7. 高效排错系列--摘要
  8. Google比Baidu快(发一个无聊的帖)
  9. 思科交换机配置试题_【干货】思科交换机路由器怎么配置密码?
  10. 3d游戏编程大师技巧 源代码_C/C++编程入门基础系列:俄罗斯方块小游戏制作,直接源代码分享...