Skip to main content
QUICK REVIEW

[论文解读] Super-Languages: Developing Languages and Applications with XMF (Second Edition)

Tony Clark, Paul Sammut|arXiv (Cornell University)|Jun 10, 2015
Distributed and Parallel Computing Systems被引用 5
一句话总结

本文提出XMF,一种超语言框架,通过统一的可执行元建模方法,支持领域特定语言(DSL)及其应用的开发。它结合强大的面向对象语言(XOCL)与声明式语法系统(XBNF),用于定义和操作语言构造,实现DSL的无缝解析、转换与执行,主要贡献在于语言可扩展性、引用解析以及通过元循环执行实现的可执行建模。

ABSTRACT

The aim of this book is to introduce the language XMF. This is done by defining the language, providing some examples of applications that can be written directly in the XOCL language that comes with XMF, and then by showing how XMF can be used for language engineering. The main focus of this book is on language engineering by example.

研究动机与目标

  • 为弥合高层领域模型与底层实现代码之间的表示鸿沟,实现直接的可执行建模。
  • 提供一个统一框架,用于定义和执行领域特定语言(DSL),全面支持语法、语义与转换。
  • 通过元循环、可执行环境实现可扩展、可组合且可维护的语言工程。
  • 通过在执行模型中集成声明式引用解析机制,解决解析后DSL中符号引用的解析挑战。

提出的方法

  • XMF使用核心语言XOCL(可执行对象命令语言)将语言元素定义为一等对象,全面支持集合、操作与控制流。
  • 语法通过XBNF(一种声明式语言)定义,用于指定语法与语义,支持模式匹配与内嵌表达式,实现灵活的解析。
  • 系统采用元循环执行模型,将语言构造定义为可执行对象,实现对语言元素的直接操作与转换。
  • 引用解析通过遍历模式(ResolveRefs)实现,遍历已解析的值,并使用查找表将符号引用替换为其绑定值。
  • 解析通过递归下降过程实现,采用成功与失败延续机制,支持非确定性与回溯行为。
  • XML数据被建模为一等对象(XML::Element, XML::Text),解析通过绑定属性与子节点的模式匹配操作定义。

实验结果

研究问题

  • RQ1如何通过单一统一的语言环境支持DSL开发的完整生命周期,包括语法定义、执行与转换?
  • RQ2如何在元循环执行模型中高效且安全地解析已解析DSL中的符号引用?
  • RQ3哪些机制能够在不牺牲性能或类型安全的前提下,实现语言定义的可扩展性与组合性?
  • RQ4如何通过一致的可执行元模型,使语言既具有人类可读性又具备机器可执行性?
  • RQ5声明式模式匹配与延续机制在实现强大、可组合的语言处理中扮演何种角色?

主要发现

  • XMF支持在单一可执行框架内定义功能完整的DSL,包含内嵌语法、语义与转换逻辑。
  • XOCL与XBNF的集成使得可扩展、可组合且可维护的语言定义成为可能,并可直接执行。
  • 通过遍历抽象语法树并使用预构建的标识符表替换符号引用,实现了高效的引用解析。
  • 在解析中使用延续与模式匹配,支持非确定性与回溯行为,对复杂语言识别至关重要。
  • XML数据可原生建模并使用一等语言构造进行解析,属性默认值与嵌套模式通过声明式方式处理。
  • 元循环执行模型支持自托管与反射,使语言能够将自身语法与语义作为数据进行操作。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。