如何在Ruby中用S表达式构建AST?

如何在Ruby中用S表达式构建AST?,ruby,abstract-syntax-tree,s-expression,Ruby,Abstract Syntax Tree,S Expression,我不知道如何建立S-exp。 我想这样做,因为我需要为我的语言构建AST。 起初,我使用RubyParser将其解析为sexp,然后编写gen代码。 但我想这一定是ruby的子集。我无法定义我想要的语言。 现在我需要为我的语言实现解析器。 那么有人可以推荐任何为S-expression构建AST的ruby工具吗 谢谢 从你的问题中不太清楚你到底需要什么,但简单的谷歌搜索会提供一些有趣的链接供你查看。也许在检查了这些链接后,如果它们不是你问题的答案,你可以编辑这个问题,使它更精确和具体 您可以在

我不知道如何建立S-exp。 我想这样做,因为我需要为我的语言构建AST。 起初,我使用RubyParser将其解析为sexp,然后编写gen代码。 但我想这一定是ruby的子集。我无法定义我想要的语言。 现在我需要为我的语言实现解析器。
那么有人可以推荐任何为S-expression构建AST的ruby工具吗


谢谢

从你的问题中不太清楚你到底需要什么,但简单的谷歌搜索会提供一些有趣的链接供你查看。也许在检查了这些链接后,如果它们不是你问题的答案,你可以编辑这个问题,使它更精确和具体


您可以在上尝试sxp ruby gem。我将它用于SPARQL S-Expressions(SSE)和类似的方法来管理Ruby中的抽象语法树。

也许您可以看看这个名为

这只是一个实验:

  • 在“mm”文件中描述语言元素(概念)(抽象语法)
  • 在此文件上运行astrapi
  • astrapi生成一个解析器,能够从用s表达式(概念的具体语法)表示的输入源填充AST

我已经放了一个简单的文档。

我想找到一种方法来构建我想要的S表达式。也许我需要一个示例。