2

我不知道如何构建 S-exp。我想这样做,因为我需要为我的语言构建 AST。一开始我使用 RubyParser 将其解析为 sexp 然后代码生成。但我认为它必须是 ruby​​ 的子集。我无法定义我想要的语言。现在我需要为我的语言实现解析器。
所以任何人都可以推荐任何为 S-expression 构建 AST 的 ruby​​ 工具?

谢谢!

4

3 回答 3

2

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

http://thingsaaronmade.com/blog/writing-an-s-expression-parser-in-ruby.html https://github.com/aarongough/sexpistol

于 2011-12-16T09:10:25.763 回答
2

You might try the sxp-ruby gem at http://github.com/bendiken/sxp-ruby. I use it for SPARQL S-Expressions (SSE) and similar methods for managing Abstract Syntax Trees in Ruby.

于 2012-05-21T23:07:43.870 回答
0

也许你可以看看这个名为Astrapi的宝石。

这只是一个实验:

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

我在这里放了一个适度的文档。

于 2018-03-30T13:30:00.590 回答