使用树自动机与正则表达式来操作层次化结构数据
计算与语言
2007-05-23 v1 数据结构与算法
摘要
以数字形式存储或传输的信息往往具有结构。单个数据记录通常表示为其元素层次结构。数据记录彼此组成更大的结构。信息处理应用程序必须考虑这种结构化程度,这种结构化为不同的数据元素或记录赋予了不同的语义。今天实际应用中存在多种结构模式,常常需要应用程序具备很大的灵活性——例如,处理来自不同来源的信息。为确保应用程序之间的互操作性,需要能够将一种结构转换为另一种结构的转换器。本文提出了一种旨在支持层次化数据处理的正式数据模型,既简单又灵活。该模型基于并扩展了两套古典理论的结果,这些理论研究有限长度字符串和树形自动机。将有限自动机和正则语言的概念应用于任意结构化的类树状层次化数据记录,作为“结构化字符串”来表示。这些自动机与经典字符串和树自动机进行比较;该模型被证明是经典模型的超集。引入了结构化字符串上的正则文法和表达式。正则表达式匹配和替换在高效处理非结构化文本方面被广泛使用;本文所描述的模型将这一已验证技术的强大功能带入处理信息树的应用程序。一种简单通用的替代方案被提出,以取代今天采用专门的非标准方法。该模型统一了结构和内容转换,为应用程序提供了单一的数据类型。讨论了一个如何基于该理论构建应用程序的示例场景。进一步的研究方向被概述。
引用
@article{arxiv.cs/0201008,
title = {Using Tree Automata and Regular Expressions to Manipulate Hierarchically Structured Data},
author = {Nikita Schmidt and Ahmed Patel},
journal= {arXiv preprint arXiv:cs/0201008},
year = {2007}
}
备注
Submission to JACM for review. 27 single spaced pages