【发布时间】:2012-06-11 22:33:32
【问题描述】:
XML 是一种用于存储文档的良好文件格式:带有元数据的内容。 JSON 是一种很好的数据存储文件格式。
是否有类似的文件格式标准擅长编码操作?换句话说,是否有一种标准文件格式可以很好地编码小型轻量级特定领域的语言?我想到的是仅由字符串数据和不超过十几个简单命令组成的简单 DSL。我的语言包括以非常简单的方式(没有条件或循环)调用一个又一个命令。
目前,我使用 XML 对一系列操作进行编码,其中每个标记代表不同的命令。 SAX 解析器将每个元素作为函数调用分派。很难看;只是感觉不是一个优雅的解决方案。
理想情况下,我会在 python 中工作,而不是编写自己的解析器...试图从使用已建立的标准文件格式中获益。一个后备方案是使用 python 本身,但如果要找到一个与语言无关的标准,我当然更喜欢它。
【问题讨论】:
-
文本文件怎么样?
-
S 表达式最接近 DSL 的潜在通用格式。
-
我想我想知道为什么你不能使用 JSON?层次结构可以是带有字符串数据的命令。你能告诉我们你是如何在 XML 中做到这一点的吗?
-
带有一些非常基本的 Lisp 方言(带有宏!)的 S 表达式应该没问题。
-
基本上你是在描述一种简单的脚本语言。有许多脚本语言可供选择,包括 Python。如果你想让它更通用,我不明白你为什么不能只使用 JSON 列表,约定列表中的第一个元素是函数,列表中的其他元素是参数。跨度>
标签: python xml json standards dsl