词法分析 | 分析树和二义性文法
创作时间:
作者:
@小白创作中心
词法分析 | 分析树和二义性文法
引用
1
来源
1.
https://www.o2oxy.cn/4320.html
词法分析是编译原理中的一个重要环节,其中分析树和二义性文法是理解词法分析的关键概念。本文将通过具体例子,深入探讨分析树的结构特点以及二义性文法的消除方法。
分析树
- 推导可以表达成树状的形状结构(和推导的顺序无关)
- 特点
- 树中的每个内部节点代表非终结符
- 每个叶子节点代表终结符
- 每一步推导代表如何从双亲节点生成它的直接孩子节点
例子1
如果G为
E--> num
E--> id
E--> E+E
E--> E*E
推导出5+6*7 为如下图:
第一种推导方式
第二种推导方式
他们的结果完全不相同。这就导致了二义性的产生。正确的应该是第一种的方式。
二义性的消除
基于存在二义性的问题,可以通过三种解决方案:
- 将二义文法改成非二义文法;
- 规定二义文法中符号的优先级和结合性;
- 改变语言的结构或书写方式。
使用第一种方法
需要引入新的终结符,且新引入的非终结符
E -> E + T
| T
T -> T * F
| F
F -> num
| id
5+6*7的推导过程
E -> E + T
-> T + T
-> F + T
-> 5 + T
-> 5 + T * F
-> 5 + F * F
-> 5 + 6 * F
-> 5 + 6 * 7
使用第二种方法
引入优先级的
E -> T | E + T | E - T
T -> num | T * num | T / num
这样的一个推导过程
E -> T
E -> E + T
E -> T + T
T -> T * num
T -> num * num
E -> 5 + T
E -> 5 + T * F
E -> 5 + F * F
E -> 5 + 6 * F
E -> 5 + 6 * 7
还有更多的方式可以参考如下的链接
https://www.jianshu.com/p/2d55d50f8bc4
本文原文来自o2oxy.cn
热门推荐
替格瑞洛片使用剂量及注意事项详解
AP课程物理与高考物理:选择指南与备考策略
AP考试是笔试还是机考,AP怎么选择适合自己的课程
温热性质的温病有哪些?病因、症状与治疗全解析
查理·芒格的智慧:阅读、学习与投资
徐州户部山历史文化街区:传统与时尚的完美融合
塞衣角确实显高,可不同“塞”法大有讲究,知道这些才不容易踩雷
分时图教学之出货分时!了解主力出货手段
“比较”到底是compare to还是compare with?
软木塞红葡萄酒没喝完,保存风味最佳的五种方法
机器学习中的向量:从基础概念到实际应用
"情绪经济"崛起:年轻人的新消费趋势与监管挑战
钙元素检测:方法与重要性全解析
为什么手会不自觉地抖
内容杂糅与叙事过载——《唐探1900》的类型困境
颈动脉血管彩超怎么做
冬季必备!5款经典帽子搭配指南
2024年新冠阳性症状分几个阶段出现?3个关键时期详解!
美论坛:中国的三三制战术到底多厉害?为何这么多国家军队研究
深圳龙华区四大教育集团入选市级培育名单,各展特色育人模式
从网络、账号状态等多方面分析推特为什么登录不进去了
北太天元科普: 有限元方法的刚度矩阵
PhD的研究方向选择指南
漳州市医院:百年传承的三甲综合医院
中国火车票字母含义全解析:从K到G的列车类型指南
FE电动方程式上海站周末开赛 全球目光聚焦“嘉”速度
法律意见书是什么
动态住宅IP和静态住宅IP使用上有差异吗?
如何检测WebShell攻击
运营商补换卡收费虚高?记者调查发现:不同渠道价格体系混乱