我的问题是关于Scala解析器:
>哪些可用(在标准库和外部),
>他们之间有什么区别,
>他们共享一个通用的API和
>可以将不同的解析器组合来解析一个输入字符串吗?
我发现至少这些:
> Scala的“标准”解析器(似乎是一个LL解析器)
> Scala的Packrat parser(自2.8以来,是一个LALR解析器)
> Parboiled parser(PEG解析器?)
> Spiewak的GLL parser组合器
解决方法
只是想更新这个答案与指向parboiled项目的最新的迭代,称为parboiled2:
https://github.com/sirthias/parboiled2
parboiled2只针对Scala(而不是Scala Java),使用Scala宏,并且非常积极地维护。