【发布时间】:2011-11-07 20:40:02
【问题描述】:
Scala 有一种非常简单的方法来创建解析器。有没有一种相当等效的方法可以在仅使用 Java 的世界中做同样的事情而无需一周的学习曲线?
【问题讨论】:
-
没有运算符重载和隐式?可能,但它可能会很远,far 使用起来更难看。
-
是的,我不这么认为。上次我看 antlr 时,它是一头野兽。有没有好转?对于不是那么复杂的 DSL,我可以使用的最简单的库是什么 - 与 Markdown 的复杂性相似。
-
等等,您是在询问一般解析(包括“外部”解析器生成器)还是“嵌入式”解析器组合器?我假设后者。但是,如果您使用带有自己的 DSL 的解析器生成器,那么它没有理由不应该是漂亮和轻量级的。
-
好吧,两者都有。我喜欢 scala 的做法——bnf 表示法很棒。但是如果java没有这样的东西,我会用我能得到的最简单的东西。
-
我实际上忘记了它的名字......我已经有一段时间没有使用它了。我曾经使用 scala 的 BNF 符号库。是组合器吗?我不记得了(对不起,已经好几个月了)。我会再次使用它,但我不能为此使用 scala :(
标签: java scala parsing text-parsing