参考《编译原理及实践》
有如下文法:A→(A)|a
先给出该文法的DFA:
根据规定,将A'→A作为开始。
得到文法:
A'→A
A→(A)|a
-----------------
根据从左到右扫描,虚拟一个游标。当前游标在-1处,即:
A'→A
↑(在A前面)
让游标向右移动(第一次移动)。得到
A'→A
↑(在A后面)
但由于A是一个可分解的文法(A→(A)|a)。所以,要向右移一位,则必须考虑分解式的情况,即得到:
1、由于A→(A),所以如果输入时'('时,则有:
A→(A)
↑(在'('后面)
同时,由于A得到文法(A)和a
则在这里需要加入另外两个文法:
A→(A)
↑(在'('前)
A→a
↑(在'a''前)
即:状态0 到 状态3的转换
2、由于A→a,所以如果输入时'a',则有:
A→a
↑(在'a'后面)
即:状态0到状态2的转换
3、若输入为整个A则得到:
A→A
↑(在A后面)
即:状态0到状态1的转换
此时已得到4个状态。且状态1和2均已移动完成(到达规约状态)
则现在只考虑状态3。
状态3能接受3个输入。
1、输入'(':则图中状态3的第二条文法得到第一条文法。第三条文法不响应'('
2、输入'a':由第三条文法响应,得到状态2(这是一个规约状态)
3、输入A:则第一条文法响应输入。得到状态4
状态4只接受一种输入即')'到达状态5(规约状态)
移动-规约过程分析:
创建一个堆栈,栈顶为$
设输入为:((a)),在该输入后添加$
从左到右扫描
1、'('。状态转到3,不是规约状态,将3加入堆栈
当前堆栈:$ ( 3
2、'('。仍回到状态3
当前堆栈 $ ( 3 ( 3
3、'a'。压入栈顶,到达状态2,其文法为A→a,从堆栈弹出a(栈顶元素),将A压入栈顶
当前堆栈$ ( 3 ( A
4、压入栈顶后到达状态4,将')'压入堆栈
当前堆栈:$ ( 3 ( A )
5、压入堆栈后到达状态5,是一个规约状态,则使用A→(A)规约,弹出状态3,将A压入栈顶到达状态4
当前堆栈:$ ( A 4
6、')'。压入栈顶到达状态5,是一个规约状态,使用A→(A)规约
最终表达式被接受。
- 大小: 28.2 KB
分享到:
相关推荐
试析北伐战争胜利进军的原因-4页.pdf
【试析贫困地区农村社会保障问题】 本文将探讨中国贫困地区农村社会保障的现状、问题的成因、建立社会保障的重要性以及提出相应的解决方案。随着市场经济的深入发展,农村社会保障在中国这个农业大国中的地位日益...
在移动互联网时代,高校课堂管理方式正经历着深刻的变革。随着网络信息技术的迅猛发展,特别是移动互联网技术的普及,传统的课堂管理模式已经无法满足现代教育的需求。高校作为知识传播与技术创新的重要阵地,正面临...
试析伊斯兰仪式的制度功能-试析伊斯兰仪式与社会制序.doc
试析洛克财产权的起源、意义及评判-7页.pdf
本文将围绕“试析城市弱势群体的权益保护”这一主题,深入探讨城市弱势群体面临的困境,以及如何通过法律、政策和社会工作等多维度来保障他们的权益。 首先,城市弱势群体的定义涵盖了低收入者、农民工、残疾人、...
此外,神经网络的自学习机制允许它从训练数据中自动学习规律,形成模型,进而对新数据进行预测或分类。\n\n机器学习的关键在于减少人工干预,通过算法自我调整和优化,以适应不断变化的环境和任务需求。随着深度学习...
试析计算机网络技术在企业信息化过程中的实践应用分析.pdf
数据显示,从2010年至2015年,移动电商的用户规模呈现快速增长趋势,表明越来越多的人选择通过手机进行在线活动。与此同时,台式电脑和笔记本电脑的上网用户比例下降,进一步证实了移动设备在互联网使用中的主导地位...
《试析汕头市中心城区城市卫生管理存在的问题及对策》这篇论文深入探讨了汕头市中心城区在城市卫生管理方面所面临的问题,并提出了相应的解决策略。城市卫生管理是衡量一个城市现代化程度和居民生活质量的重要指标,...
试析昌黎地秧歌的现状及传承保护
试析从文学发展看女性自觉意识的觉醒
它们极大地提高了模具设计与制造的效率和质量,支持了从产品设计、分析到制造的全过程。 CAD技术应用的知识点: - 模具设计:使用CAD技术进行产品的三维建模,包括形状设计、尺寸标注、零件装配以及工程图纸生成等...
试析疫情对企业的影响及应对策略.pdf
试析我国慈善事业发展现状及建议实用.pdf
从交易系统的优化、大数据分析能力的提升,到风险控制机制的完善,互联网技术为证券行业带来了全方面的发展机遇。云计算、大数据、人工智能等技术的应用,能够帮助证券公司更有效地分析市场动态,预测风险,制定更加...
标题“试析商品包装对消费者购买欲的影响”揭示了这篇论文的主题,主要探讨的是商品包装设计如何通过视觉、心理等因素影响消费者的购买决策。在IT领域,尽管这不是一个直接的技术话题,但与用户体验(UX)设计、市场...
模具的设计与制造过程复杂,分为制件工艺分析与设计、模具总体方案设计、总体结构设计、施工图设计等阶段。 在模具设计中,CAD(计算机辅助设计)技术的应用尤为重要。CAD技术能够帮助设计师高效地完成概念设计、...
本文研究的重点是基于数据挖掘技术的中长期电力市场需求分析及预测,这对于电力行业有着重要的指导和应用价值。数据挖掘是一种从大量数据中提取有用信息和知识的技术手段,而将此技术应用于电力市场需求分析和预测,...