16

我知道的唯一方法不是“直接”:

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

有关的:

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

implicit def toLogged(name:String) = new { 
  def !!![T](p:Parser[T]) = log(p)(name)
}

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

4

1 回答 1

1

我可能误解了你的问题。

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

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

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

于 2013-02-14T07:50:12.570 回答