有没有合适的方法直接从Scala Parser Combinators生成[jpg,png等]语法图(和/或AST)?

16 scala dot abstract-syntax-tree parser-combinators

我所知道的唯一方法不是"直接":

  • 转换为ANTLR格式并使用自己的可视化工具
  • VISUALLANGLAB,它似乎需要整个鼠标点击"重写"
  • 我自己实现转换器(这很有趣,但很耗时)
  • 第二个链接如下

有关:

第二个链接建议调试向解析器添加隐式方法:

implicit def toLogged(name:String) = new { 
  def !!![T](p:Parser[T]) = log(p)(name)
}
Run Code Online (Sandbox Code Playgroud)

可能是AST会更可行/有用; 但问题仍然相似.

EEC*_*LOR 1

我可能误解了你的问题。

Scala 解析器组合器用于将字符串解析为您可以使用的类型的实例(自定义或内置)。结果是您决定的 Scala 实例的结构,这可以是任何东西。

例如,您可以创建一个解析器,将任意字符串解析为众所周知的 java 结构的实例ECore

如果没有用例,就很难为您的问题提出最佳途径。也许Xtext可以帮助您:http://www.eclipse.org/Xtext/。Xtext 有相当多的内置功能,但它是一个 Eclipse 插件,您可能还需要其他功能。