属性文法

对于属性文法的理解 属性文法是在上下文无关文法的基础上为每个文法符号(终结符或非终结符)配备若干个相关的“值”(称为属性)。 属性分为两类: (1)综合属性 用于“自下而上”传递信息 在语法树中,一个结点的综合属性的值,由其子结点的属性值确定 S—属性文法:仅仅使用综合属性的属性文法 (2)继承属性 用于“自上而下”传递信息。 在语法树中,一个结点的继承属性由此结点的父结点和/或兄弟结点的某些属性确定... 阅读详情
 
利用L属性文法自上向下分析,输出四元式的翻译模式:
 
S->id=E {gen('=',E.place,__,entry(id))}
 
E->T {R.i = T.place}
   R {E.place = R.s}
R->+
   T  {R1.i= newtemp; gen('+',R.i,T.place,R1.i)}
   R1 {R.s =R1.s}
R->@(空串)
   {R.s =R.i}
T->F {P.i = F.place}
   P {T.place =P.s}
P->*
   F {P1.i =newtemp;gen('*',P.i,F.place,P1.i)}
   P1 {P.s =P1.s }
P->@ {P.s =P.i}
F->(E) {F.place =E.place}
F->id {F.place = entry(id)}
非终结符R和P的继承属性i用于自上而下传递信息。
根据该翻译模式很容易写出相应的递归下降分析程序,从而实现输出四元式的目的。
for example:
input :a = a+b*(c+d)/f-g/(a+b)/d-g*d*f/g-h;
output:
0:    +    c    d    T1
1:    *    b    T1    T2
2:    /    T2   f    T3
3:    +    a    T3    T4
4:    +    a    b    T5
5:    /    g    T5    T6
6:    /    T6   d    T7
7:    -    T4   T7    T8
8:    *    g    d    T9
9:    *    T9   f    T10
10:    /    T10  g    T11
11:    -    T8   T11   T12
12:    -    T12  h    T13
13:    =    T13  __    a
编译原理属性文法和语法制导翻译 属性文法:是在上下文无关文法的基础上为每个文法符号(终结符或非终结符)配备若干个相关的“值”(称为属性)。属性:代表与文法符号相关的信息,和变量一样,可以进行计算和传递。属性分类:综合属性和继承属性综合属性:用于”自上而下“传递信息在语法树中,一个结点的综合属性的值,由其子结点的属性值决定S-属性文法:仅仅使用综合属性的属性文法继承属性:用于”自上而下“传递信息在语法树中,一个结点的继承属性由此结... 阅读详情

相关推荐

【编译原理复习】第六章---- 属性文法和语法制导翻译

第六章 属性文法和语法制导翻译 本章主要掌握下面一些内容。 1.语义规则的两种描述方法:语法制导的定义和翻译方案。语法制导的定义没有指明语义规则的计算次序,而翻译方案显式给出语义规则( 或叫语义动作)的计算次序和位置。 2.综合属性,继承属性 3.综合属性定义(S属性定义)和L属性定义。 4.设计简单问题的语法制导定义和翻译方案,这是本章的重点和难点。这种设计可看成是一种程序设计,是一种事件驱动形式的程序设计,因此它比一般的编程要 难得多。这里的事件是句子中各种语法结构的识别。 1.1 语法制导的定义 语法

zijin-jdd的博客 1万+

编译原理-第五章-语义分析之属性文法、属性计算

属性文法 属性文法,也称属性翻译文法 Knuth在1968年提出 以上下文无关文法为基础 为每个文法符号(终结符或非终结符)配备若干相关的“值"(称为属性),代表与文法符号相关信息,如类型、值、代码序列、符号表内容等 对于文法的每个产生式都配备了一组属性的语义规则,对属性进行计算和传递 产生式 语义规则 L→En print(E.val) E→E1+T E.val :...

qq_40066238的博客 1万+

编译原理:属性文法与属性翻译文法

属性文法是带有属性的上下文无关文法。

梁辰兴的博客 113

属性文法——S属性文法、L属性文法/语法制导定义SDD

属性文法是在上下文无关文法的基础上为每个文法符号(终结符或非终结符)配备若干个相关的“值”(称为属性)。这些属性代表与文法符号相关的信息,例如它的类型、值、代码序列 、符号表内容等等。属性和变量一样,可以进行计算和传递。 属性一般分为两类: 综合属性:用于“自下而上”传递信息。在语法树中,一个结点的综合属性的值由其子结点或其自身的某些属性值确定。 继承属性:用于“自上而下”传递信息。在语法树中,一个结点的继承属性值由该结点的父结点、兄弟结点和其自身的某些属性值确定。 注意: 终结符只有综合属性,由词法

学习永无止境 1万+

173-习题作业-属性文法1

1. 设 AS 为文法的综合属性集, AI 为继承属性集, 则下列语法制导定义中产生式 语义规则答案:(d) 是正确的在语法制导定义(属性文法)中, 综合属性用

告别设备管理器混乱!3分钟学会用STM32CubeMX+Zadig定制专属虚拟串口名称

本文详细介绍了如何利用STM32CubeMX和Zadig工具,为STM32的USB虚拟串口(VCP)定制专属设备名称,从而彻底解决多设备连接时设备管理器端口混乱的难题。通过修改产品字符串描述符并替换驱动,开发者可以在设备管理器中清晰识别不同开发板,显著提升调试效率,尤其适用于多设备协同的竞赛或项目开发场景。

a2b3c4d5e的博客 478

【编译原理复习笔记】属性文法

对于继承属性,则先构建语法树,然后自上而下填写,对于 addtype,就是在符号表中填写其对应名字,属性对应 addtype 中后项(通常为父节点)所对应的属性。(2)出现在左边的继承规则和右边的综合属性不由对应产生式的属性计算规则进行计算,而是由其他产生式的属性规则计算或者由相关参数提供。语义规则只给出了属性计算的定义,但是没有给出属性计算的先后顺序,可以在属性文法的基础上进一步给出使用顺序,就叫翻译模式。自上而下传递信息,根据右部候选式的符号属性与左部的属性计算右部候选式中符号的继承属性。

weixin_46876169的博客 2225

emir分析RC corner如何选择

power analysis阶段 RC corner的选择

weixin_61954252的博客 3593

编译原理------语义规则的描述工具(属性文法)和属性计算过程(语法制导翻译)

编译器中语义分析的基础知识:描述语义规则的工具,属性文法;属性文法中属性的计算过程,即语义分析的过程。

cjy031025_cloud的博客 2816

tewa-707e光猫超级密码获取方法

这款光猫很魔性,没有WIFI,没有USB接口,没有Telnet,试了很多方法去获取超级密码都不行。解密时可能会报错,可能是文件后面部分不晓得是咋拼接过来的,用AES解密时分组数据有问题。3、这个文件是用AES加密了的,直接打开是乱码,所以得用AES解密,key为16个字节的 x00。打开解出来的文件,然后搜索 telecomadmin,就可以发现超级密码了。参考资料里面的光猫不是同一款,但解密的方法基本相同的。

shaowl111的专栏 1万+

基于转录逆转的药物重定向 GPS 模型

GPS是一个基于分子结构预测基因表达扰动的开源平台,由三个模块组成:RCL(在LINCS扰动数据上训练抗噪MLP)、GPS4Drugs(预测新化合物的基因表达谱并进行逆转评分)、MolSearch(基于MCTS的分子优化)。平台使用Morgan指纹和Gene Ontology注释作为特征输入,将基因表达扰动离散为三分类标签。训练数据来自LINCS Phase I的18,746个化合物和978个landmark基因,支持四细胞系独立训练,可用于药物重定向与化合物筛选。

听雨草堂 83

编译原理复习(6) 属性文法

属性文法属性文法综合属性继承属性属性依赖语义规则带注释的语法树基于属性文法的处理过程:依赖图良定义的属性文法树遍历的属性计算方法算法过程示例一遍扫描的处理方法抽象语法树建立表达式的抽象语法树例S-属性文法的自下而上计算S-属性文法分析过程L-属性文法和自顶向下翻译L-属性文法翻译模式设计翻译模式原则建立翻译模式语义动作的执行时机统一消除翻译模式中的左递归递归下降翻译器的设计 属性文法 以上下文无关文法为基础。 为每个文法符号(终结符或非终结符)配备若干相关的“值”(称为属性)。 对每个文法的每个产生式配备了

KONGxy的博客 1万+

Python re库【正则表达式操作库】全面讲解及代码示例

以下是Pythonre库的全面讲解,包含主要功能、常用方法及代码示例。完整代码和注释附后。正则表达式(Regular Expression)是用于匹配、查找、替换字符串的工具,通过特定语法定义模式。?{n}[...][a-z]A|B\d[0-9]\D\s\S\w\Wre从字符串匹配模式,返回Match对象或None。在字符串中第一个匹配项,返回Match对象或None。返回所有匹配项的。返回所有匹配项的Match对象)。替换匹配项,返回新字符串。根据模式分割字符串,返回列表。通过。

记录点滴 1162

基于属性文法的语义计算

在上一篇文章《词法分析与语法分析的原理及部分实现》中,我已经将词法分析与语法分析的大部分内容完全地展现在读者眼前,接下来就是关于属性文法与语义计算的相关要义。 属性文法是用来描述某些附加在一个上下文无关文法中的属性,这类属性可以是值、类型、符号表的内容等等,而且这一属性文法也带有一个语义规则用于描述属性在文法中的终结符与非终结符之间所传递的信息关联。 本文所要讲授的是基于属性文法的语义计算方法,一...

GitChat 1604

智能车浅谈——手把手让车跑起来(电磁篇)

手把手让你的电磁车上路。

qq_41954556的博客 7万+

SAC-IA算法点云粗配准

SAC-IA(Sample Consensus Initial Alignment)是PCL库中的一种初始点云配准算法,它使用特征匹配和RANSAC(随机抽样一致性)框架来估计两个点云之间的初始刚性变换。其目标是通过特征描述符找到一组可靠的匹配点对,并使用这些点对估计初始对齐的变换矩阵。

twnkie的博客 1445

属性文法和语法制导翻译

  截至到上一章,说完了语法分析的全部内容。从第一章的结构图可以了解到,紧接着语法分析的是语义分析与中间代码的生成。书中用了两章讲述该内容(属性文法和语法制导翻译、语义分析和中间代码生成)。本节描述的主要是进行语法分析与中间代码的生成的一些储备知识。   先聊聊语法分析和本章的关系:在第一章的时候,我们讲述了“遍”的概念。之前只是简单的说了可将语法分析与中间代码生成放到一遍中完成,这章的内容就会解释到其原因。也可分为自上而下和自下而上两种类型。会在后续的内容里慢慢体现。   回到本章来,希望通过看完这篇文章

gls_nuaa的博客 3633

Python爬虫教程:如何爬取多平台电商商品信息(价格、评价、库存)

本文介绍了如何编写一个跨平台电商商品爬虫,爬取多个平台的商品信息,包括商品名称、价格、评价等数据。通过Python的爬虫库(如requestsSelenium)和数据处理库(如pandasmatplotlib)的结合,我们可以高效地获取和分析电商平台上的商品信息。

2201_76125261的博客 917

编译原理 —— 属性文法和语义规则

什么是属性文法 一个属性文法是在上下文无关文法的基础上,允许每个文法符号 XXX(终结符或非终结符)根据处理的需要,定义与 XXX 相关的属性。 对属性的处理有计算、传递信息等,属性处理的过程也就是语义处理过程。 当然,处理时必须遵循一定的规则。为此,为每个文法规则式都定义一组属性的计算规则,称为语义规则。 属性文法的表示 一个属性文法形式上定义为一个三元组 AGAGAG AG=(G,V,...

starter_____的博客 9924

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

编译原理:属性文法:文法形式判别。

再课本上有4条语句的描述,每次看都会比较模糊。所以总结一下。 基本了解: 属性文法:上下无关文法+文法符号的属性 属性的计算规则=语义规则 属性分类:继承属性,综合属性。 属性文法判别: 形如产生式:A->a 语义规则形式: 左部 右部 文法符号综合属性 产生式右部任意属性 产生式右部非终结符继承属性 产生式右部符号和文法符号任意属性 也就是说,左部只能是关于非终结的属性。 例子: 这里说一下a选项的判别: 继承属性有Qb,Rd,Rf.综合属性有

qq_40727897的博客 1804

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

语义分析——属性文法

属性文法(Attribute Grammar)在上下文无关文法的基础上进行如下扩展: 为每个文法符号关联有特定意义的属性(Attribute) 为文法的每个产生式关联一个语义规则集合或称为语义动作(或者条件谓词) 形式上,属性文法是一个三元组A=(G, V, F) G为上下文无关文法 V为属性的有穷集合 F为关于属性的断言的有穷集合

m0_53345417的博客 1766

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

编译原理6——属性文法和语法制导翻译

本篇文章对应陈火旺版编译原理第6章,部分不在考试范围内内容已被略去

weixin_65518198的博客 2374

第六章——属性文法和语法制导翻译

一、属性文法1.属性文法:是在上下文无关文法的基础上为每个文法符号(终结符或非终结符)配备若干个相关的“值”(称为属性)。属性:代表与文法符号相关的信息,和变量一样,可以进行计算和传递。综合属性用于“自下而上”传递信息在语法树中,一个结点的综合属性的值,由其子结点的属性值确定S—属性文法:仅仅使用综合属性的属性文法2.属性的分类:综合属性继承属性(2)继承属性:用于“自上而下”传递信息。在语法树中...

analogyy的博客 5259

第六章: 属性文法和语法制导翻译

一.属性文法

sdau_zjk的博客 3916

笔记-编译原理-第14、15章-属性文法和语法制导翻译

第14讲 属性文法和语法制导翻译1 14.1 属性文法 属性文法,也称属性翻译文法 Knuth在1968年提出 以上下文无关文法为基础 为每个文法符号(终结符或非终结符)配备若干相 关的“值”(称为 属性 ),代表与文法符号相关信 息,如类型、值、代码序列、符号表内容等 对于文法的每个产生式都配备了一组属性的 语义规则 ,对属性进行计算和传递 文法的属性分为 综合属性 和 继承属性 14...

31415926535x的博客 4307
上一篇: 回校了
下一篇: 回车和换行
mindview
博客等级 码龄19年 7粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值