RGG+:一种对RGG的泛化
1 引言
图形或可视化语言如同文本编程语言一样,需要形式化语法定义和解析器的支持。形式化的图语法定义具有诸多优势:
- 若无恰当的语法定义,新用户只能通过示例来猜测图形语言的语法。
- 定义可为语法导向的编辑器提供明确规范。
- 能基于合适的定义生成图形解析器。
- 语法定义是语言语义定义的必要前提。
然而,众多可视化语言中仅有少数具备合适的形式化语法定义。从一维文本语言扩展到二维图形语言带来了新问题,现有的图语法形式虽在许多实际应用中有用,但在表达能力、开发和实现的便捷性等方面仍需改进。
目前已提出多种语法形式及其解析算法,大多用于定义表达能力有限的上下文无关语法。最知名的上下文敏感图语法形式是分层图语法(Layered Graph Grammar),它表达能力较强,但解析时间呈指数级。RGG在表达能力和解析效率上对分层图语法有所改进,而空间图语法(Spatial Graph Grammar)通过增加空间约束进一步提高了解析效率。不过,RGG和SGG的汇合条件限制了它们的应用。
为解决这些问题,引入了RGG+,它在两个方向上对RGG进行泛化:一是简化图语法的开发,二是通过去除RGG中的汇合限制来增强语法形式的表达能力。当然,这会牺牲一定的解析效率。RGG+的贡献主要有两点:一是用终端和非终端两层标签替代多层标签,并引入大小递增条件解决成员问题;二是提供一种更通用的解析算法,不要求图语法必须是汇合的,极大增强了解析能力。
2 符号说明
为清晰简洁地表达,以下是相关基本概念和符号的总结:
| 符号 | 含义 |
| ---- |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



