为练习 4.2.1 的文法 S -> S S + | S S * | a 构造 规范 LR 项集族 LALR 项集族

时间: 2023-10-16 15:10:47 浏览: 74
首先,我们需要构造出这个文法的 LR(0) 项集族: | I | CLOSURE(I) | GOTO(I, X) | |---|-----------|------------| | 0 | {S' -> .S} | | | 1 | {S' -> S., S -> .SS+, S -> .SS*, S -> .a} | | | 2 | {S -> SS.+} | | | 3 | {S -> SS.*} | | | 4 | {S -> a.} | | 接下来,我们使用 LR(0) 项集族中项目集的核心来构造出规范 LR(1) 项集族。对于这个文法来说,LR(0) 项集族中的每个项目集都是 LR(1) 项集族中的核心,所以我们直接把 LR(0) 项集族中的项目集放入规范 LR(1) 项集族中: | I | CLOSURE(I) | GOTO(I, X) | |---|-----------|------------| | 0 | {S' -> .S} | | | 1 | {S' -> S., S -> .SS+, S -> .SS*, S -> .a} | | | 2 | {S -> SS.+} | | | 3 | {S -> SS.*} | | | 4 | {S -> a.} | | 现在,我们需要合并一些项目集。对于这个文法来说,项目集 2 和项目集 3 可以合并,因为它们的状态集合相同,且它们的向前看符号也相同,都是 $+$ 或 $*$。所以,我们把它们合并成一个项目集: | I | CLOSURE(I) | GOTO(I, X) | |---|-----------|------------| | 0 | {S' -> .S} | | | 1 | {S' -> S., S -> .SS+, S -> .SS*, S -> .a} | | | 2 | {S -> SS.+ | SS.*} | | | 3 | {S -> a.} | | 现在,我们需要构造出这个文法的 LALR(1) 项集族。我们需要检查每个项目集的向前看符号,如果两个项目集状态相同,且它们的向前看符号集合也相同,那么我们就可以合并它们。在这个文法中,所有项目集的向前看符号都是一样的,都是 $+$ 或 $*$ 或 $a$,所以我们不需要合并任何项目集。因此,规范 LR(1) 项集族就是上面构造出来的 LALR(1) 项集族: | I | CLOSURE(I) | GOTO(I, X) | |---|-----------|------------| | 0 | {S' -> .S} | | | 1 | {S' -> S., S -> .SS+, S -> .SS*, S -> .a} | | | 2 | {S -> SS.+ | SS.*} | | | 3 | {S -> a.} | | 这就是这个文法的规范 LR 项集族和 LALR 项集族。

相关推荐

最新推荐

recommend-type

02 企业 EA -应用软件架构设计规范.docx

应用软件 架构设计 设计规范 4.2.1 定义主题域 对业务过程模型、业务能力模型、系统用例等作出分析,参照全局数据模型,定义数据主题域及概 念数据实体,主题域的数据实体应高度相关,每项业务能力至少包含一个...
recommend-type

Android开发资料合集-World版!

4.2.1、动态滚动 49 4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、获取标题栏和...
recommend-type

SOAP协议规范(中文版).doc

该SOAP协议规范,不是很完整,此中文文档只是帮助理解,内容并不详细!具体请参照英文文档!此文档目录如下: 目录 1. SOAP简介 2 1.1 SOAP1.2基本内容 2 1.2 符号约定 3 1.3 SOAP消息举例 3 2. SOAP消息交换模型 4 ...
recommend-type

SomeIpExample_4.2.1翻译draftV1.01.pdf(免费下载)

《AUTOSAR_TR_SomeIpExample_4.2.1.pdf》的全部原创翻译,此文档为草稿部分,经过一定审核。相对《SomeIpExample_4.2.1翻译draft.pdf》有所改善。
recommend-type

GP-卡规范V2.1.1

4.2.1. 卡发行者(Card Issuer) 15 4.2.2. 应用提供者(Application Provider) 16 4.2.3. 控制授权中心机构(Controlling Authority) 16 4.2.4. 卡上组件的安全要求 16 4.2.4.1. 对运行时环境的安全要求 16 4.2....
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB图像处理算法宝典:从理论到实战

![MATLAB图像处理算法宝典:从理论到实战](https://img-blog.csdnimg.cn/20200717112736401.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1emhhbzk5MDE=,size_16,color_FFFFFF,t_70) # 1. MATLAB图像处理基础理论 MATLAB图像处理是一种利用MATLAB编程语言进行图像处理的强大工具。它提供了丰富的函数和工具箱,用于图像获取、增强、分
recommend-type

matlab中1/x的非线性规划

在MATLAB中,可以使用非线性规划函数(`fmincon`)来优化一个包含1/x的非线性目标函数。下面是一个简单的例子: ```matlab % 定义目标函数 fun = @(x) 1/x; % 定义约束函数(这里没有约束) nonlcon = []; % 定义初始点 x0 = 1; % 定义优化选项 options = optimoptions('fmincon', 'Display', 'iter'); % 进行非线性规划 [x, fval] = fmincon(fun, x0, [], [], [], [], [], [], nonlcon, options); ``` 在
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。