我知道的唯一方法不是“直接”:
- 转换为 ANTLR 格式并使用其自己的可视化工具
- VISUALLANGLAB,它似乎需要整个鼠标点击“重写”
- 自己实现一个转换器(这很有趣,但很耗时)
- 下面的第二个链接
有关的:
第二个链接建议调试向解析器添加隐式方法:
implicit def toLogged(name:String) = new {
def !!![T](p:Parser[T]) = log(p)(name)
}
可能是 AST 会更可行/有用;但问题仍然相似。
我知道的唯一方法不是“直接”:
有关的:
第二个链接建议调试向解析器添加隐式方法:
implicit def toLogged(name:String) = new {
def !!![T](p:Parser[T]) = log(p)(name)
}
可能是 AST 会更可行/有用;但问题仍然相似。
我可能误解了你的问题。
Scala 解析器组合器用于将字符串解析为您可以使用的类型的实例(自定义或内置)。结果是您决定的 Scala 实例结构,这可以是任何东西。
例如,您可以创建一个解析器,将您的任意字符串解析为众所周知的 java 结构的实例ECore
。
如果没有用例,就很难为您的问题提出最佳途径。也许 Xtext 可以帮助你: http: //www.eclipse.org/Xtext/。Xtext 有很多内置功能,但它是一个 Eclipse 插件,您可能需要其他东西。