基于 PEG 的抽象语法树快速、灵活且声明式的构造
编程语言
2015-07-31 v1
摘要
我们探讨了使用解析表达式文法(PEG)进行抽象语法树(AST)的声明式构造。新定义了 AST 运算符(构造符、连接符和标记符)以指定灵活的 AST 构造。PEG 带来的一个新挑战是在回溯和 packrat 解析中 AST 的一致性管理。我们构建了事务 AST 机,以便在 PEG 的推测解析上下文中执行 AST 操作。所有一致性控制均通过 AST 运算符的分析自动完成。所提出的方法在用 Java 编写的 Nez 解析器中实现。性能研究表明,事务 AST 机在 CSV、XML 和 C 文法中大约需要多花 25% 的时间。
引用
@article{arxiv.1507.08610,
title = {Fast, Flexible, and Declarative Construction of Abstract Syntax Trees with PEGs},
author = {Kimio Kuramitsu},
journal= {arXiv preprint arXiv:1507.08610},
year = {2015}
}
备注
To appear in Journal of Information Processing (2015)