编译原理(第四版)复习 (一)

2023-11-03

第一章:编译概述

编译程序:将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序;

解释程序:也是一种翻译程序,将源程序翻译并执行,边解释边执行;

两者的区别:解释程序的执行过程不会生成目标程序;

编译过程的5个阶段:词法分析,语法分析,语义分析及中间代码生成,代码优化,目标代码生成;

 

第二章:文法和语言的基本知识

文法的自我理解:就是像一个公式一样的规则化;

这章的目标就是如何求:已知文法求语言?已知语言求文法?

∑(西格玛) 代表字母表

(伊姆逊) 代表空字符串

 

推导用的是=>   规则用的是->   推导的依据是规则

最右推导叫做规范推导,规范规约就是规范推导的逆过程;

句型和句子:如果起始符号推导出带非终结符的是句型;全是终结符则为句子;

S—>01|0S1

像01,0S1,00S11····就是文法的句型; 01,000111···则是文法的句子;

要求是不是某个文法的句子?    只要能推导出这个句子就可以证明是~~~~

短语、直接短语、句柄:  看例题中理解

句柄:最左边的直接短语就是句柄;

素短语:就是在短语中最基本的,素短语不能在其他短语中出现;

 

文法的二义性:一个文法存在某个句子有两种不同的语法树;

消除二义性方法:1.加一些语法的非形式规定,比如*比+先等;2.构造一个等价的无二义性的文法;

0型文法:左侧至少含有一个非终结符; A->AB (无限制文法)

1型文法:左右两侧有一个相容的符号; BA->BC (上下文有关文法)

2型文法:左侧有一个非终结符;  A->aA (上下文无关文法)

3型文法;左侧只有一个非终结符,右侧有0个或一个非终结符;  A->a   A->aA(正规文法)

0>1>2>3

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译原理(第四版)复习 (一) 的相关文章

  • 深度学习中:epoch、batch size和iterations之间的关系

    机器学习中 epoch batchsize和iterations之间的关系 在深度学习中 epoch batchsize和iterations是在训练模型时 一定用到的一些概念 那么分别是什么意思呢 首先 为什么会用到以上概念 是因为 梯度
  • 算法题——洛谷2

    P8723 乘法表 题目描述 九九乘法表是学习乘法时必须要掌握的 在不同进制数下 需要不同的乘法表 例如 四进制下的乘法表如下所示 1 1 1 2 1 2 2 2 10 3 1 3 3 2 12 3 3 21 请注意 乘法表中两个数相乘的顺
  • 清理memcached缓存

    清理memcached缓存 首先telnet连接memcache 然后 flush all 清除缓存 最后quit退出 root admin telnet 192 168 101 51 12000 Trying 10 118 180 58
  • AES+BASE64双重加密,解密 私钥,向量解析

    使用AES加密 再使用base64编码加密 具体细节请看注释 加密 param sSrc 加密的明文 param sKey 秘钥 param iv 向量 16 bytes return throws Exception public sta
  • 如何用最短的时间理解一项数字技术?推荐这7本最新的白皮书(大数据、云原生、区块链、联邦学习等,附下载)...

    正文开始 信息技术 数据被国家认定为新的生产要素 对于数据从业者来说是时代赋予的巨大红利 但也要认识到 数据要素要发挥出价值 离不开数据要素市场的培育 更依赖于信息技术 大数据 人工智能 区块链 云计算 边缘计算 物联网等 的加持 为了抓住
  • ML算法——梯度下降随笔【机器学习】

    文章目录 2 1 梯度下降 2 1 梯度下降 梯度下降如何帮助参数优化 梯度下降是一种用于参数优化的常见方法 它的基本思想是通过迭代地更新参数 以减小损失函数 代价函数的值 从而找到一个最优解 梯度方向 向右 正向 向左 反方向 梯度方向是
  • 《机器学习(周志华)》 西瓜数据集3.0(含规范化以后数据)

    书上的一个常用数据集 plain view plain copy 编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜 1 青绿 蜷缩 浊响 清晰 凹陷 硬滑 0 697 0 46 是 2 乌黑 蜷缩 沉闷 清晰 凹陷 硬滑 0 7
  • 【vue3】锚点定位(两种实现方式)

    方法1 利用ref实现锚点定位 前面的废话文学 说到锚点定位 很多人第一时间会想到 a标签 但是a标签实现的锚点定位并不是那么的完美 特别是在hash模式下 对我而言 vue3的ref就实在是太完美了 解决问题的方法 很多情况下 我们会循环
  • 五层网络协议,各层功能,各层协议

    一 OSI七层模型 OSI七层协议模型主要是 应用层 Application 表示层 Presentation 会话层 Session 传输层 Transport 网络层 Network 数据链路层 Data Link 物理层 Physic
  • 使用 gfortran 编译 CALPUFF

    1 升级gfortran 7 默认gortran的版本是4 8 gfortran version GNU Fortran GCC 4 8 5 20150623 Red Hat 4 8 5 39 Copyright 2015 Free Sof
  • 美化VC界面(用户登录界面)

    源码下载 http download csdn net source 2840164 代码运行效果图如下 VC开发程序单调的界面相信大家都是深有感触 提到界面美化编程 人们都会说做界面不要用VC写 太难了 一句俗语 难者不会 会者不难 VC
  • Jmeter使用HTTP代理服务器无法打开网页问题的解决方法

    大家都知道Jmeter有录制HTTP请求的功能 HTTP代理服务器中 但是在操作中却会提示如下页面 Root CA certificate ApacheJMeterTemporaryRootCA created in JMeter bin
  • Apache Tomcat 8.5安装配置教程

    一 安装JDK步骤及配置JDK环境变量步骤省略 二 安装Tomcat 提前请先安装JDK 三 安装官网 直接点击 Tomcat很特殊 各个版本之间可能会相互不兼容 这里示例安装8 5的版本 点击tomcat8后根据自己的电脑选择相应的型号
  • git终端显示分支名称

    在使用git操作的时候 有时候会记错当前自己是在哪个分支上 从而造成一些不必要的麻烦 比如需要在某个分支上开发某个特性 结果误在master分支上进行了相关的操作 并且还push到了远端仓库 事后自己有可能还并不知晓 从而给自己带来了不必要
  • HTML基本标签

    文章目录 前言 一 HTML简介 二 HTML标签介绍 1 标题标签 2 段落标签 3 换行标签 4 hr标签 5 span标签 6 div标签 7 img标签 8 超链接标签 9 注释标签 10 特殊字符 11 格式化标签 12 sup上

随机推荐