热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

歧义语法和非歧义语法的区别

歧义语法和非歧义语法的区别原文:https://www . geeksforgeeks . org/歧义和非歧义语法之间的区别/

歧义语法和非歧义语法的区别

原文:https://www . geeksforgeeks . org/歧义和非歧义语法之间的区别/

先决条件–上下文无关语法
1。歧义语法 :
如果存在多个派生树或解析树,则上下文无关语法称为歧义语法。

示例–

S -> S + S / S * S / S / a

2。明确语法:
如果存在且仅有一个派生树或解析树,则上下文无关语法称为明确语法。

示例–

X -> AB
A -> Aa / a
B -> b

歧义和不歧义语法的区别:










































S.NO模糊语法无歧义文法
1.在模棱两可的语法中,最左边和最右边的派生词是不一样的。在明确的语法中,最左边和最右边的派生是相同的。
2.歧义语法中的非终结点数量少于无歧义语法。无歧义语法中的非终结点数量多于有歧义语法中的非终结点数量。
3.歧义语法中的解析树长度相对较短。明确语法中解析树的长度相对较大。
4.歧义语法中树的推导速度比无歧义语法快。无歧义语法中的树的推导速度比有歧义语法慢。
5.不明确的语法会生成多个分析树。明确的语法只生成一个解析树。
6.歧义语法包含歧义。明确的语法不包含任何歧义。


推荐阅读
author-avatar
工农大路店NOKIA客户服务中心
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有