1

我有一个文档,我想一次解析一行。我的标记是整行:

Pizza Is Great

12
14
17

red
blue
buckle my shoe

PS. I <3 

我可以将上面的内容与语法(伪代码)相匹配,例如:

text     → /.*/
int      → /[0-9]+/
blank    → /^\s+$/
Document → text + blank + int* + blank + text* + blank + text

我想要的是将每一行作为令牌独立发送到解析器并尝试匹配它,但是到目前为止我尝试过的每个解决方案(scala-parser-combinatorsFastParse等)都需要我用附加换行符以便正确地将其分开。显然,我实际上并不希望我的语法知道换行符;它们应该用于在输入到达解析器之前对其进行标记。

是否有兼容 Scala 的解析解决方案可以以这种方式逐行工作,从而使换行符完全从我的语法定义中消失?(有人可以给我看一个简单的例子吗?)

4

0 回答 0