TomML:用于结构化数据的规则语言
1. 引言
模式匹配在计算机科学领域和日常生活中都是一个广泛应用的概念。当我们搜索某样东西时,会构建一个所谓的模式,它是一个结构化对象,用于指定我们感兴趣的特征。数学、逻辑和计算机科学都充分利用了模式。
匹配过程的复杂性显然取决于目标对象的复杂程度。在图片中匹配形状比在文本中识别单词要困难得多。同时,数据的复杂性和操作便利性之间存在折衷。可扩展标记语言(XML)是一种优秀的数据描述语言,它允许以计算机友好的格式描述复杂结构,非常适合进行匹配和转换。XML 数据以树结构组织,顶部有一个根元素,这正是经典模式匹配算法和工具所处理的对象类型。
匹配本身通常不是目的,而是为了执行某个操作。例如,当检测到一个数加上零,我们会简化表达式,将“7 + 0”替换为“7”。同样,XML 文档常被转换为 HTML 文档以便在网页上更好地展示,这种转换可以自然地用重写来描述,即匹配一个对象并(部分)用另一个对象替换它。
重写概念从理论设置到实际实现都有应用。一些重写语言,如 ASF + SDF、Elan 和 Maude,基于高效的模式匹配算法开发,并使用复杂技术优化重写计算。然而,与 Java 等广泛使用的语言相比,它们的库和功能(如输入/输出、线程、接口等)相对有限。Tom 语言实现了形式岛的概念,将特定技术集成到现有语言之上。在 Tom 中,这项技术是战略项重写,现有语言是 Java(也可与其他语言集成)。
Tom 程序基于项重写有清晰的语义,可进行形式分析,同时具有跨平台集成和易用性的潜力。它恢复了 XML 的可移植性和可重用性,是查询和转换 XML 文档的自然选择。本文介绍 Tom 的扩展 TomML,它将 Tom
超级会员免费看
订阅专栏 解锁全文
912

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



