Parsing Scala解析器组合器与Haskell';是帕塞克吗?
我已经读到Haskell解析器组合器(在Parsec中)可以解析上下文敏感语法。Scala解析器组合器也是这样吗?如果是,这就是“into”(又名“>>”)函数的用途吗 与Haskell相比,Scala实现解析器组合器有哪些优点/缺点?他们接受同一类语法吗?是否更容易生成错误消息或使用其中一个执行其他杂项有用的操作 packrat解析(在Scala 2.8中引入)如何适应这张图片Parsing Scala解析器组合器与Haskell';是帕塞克吗?,parsing,scala,haskell,parsec,parser-combinators,Parsing,Scala,Haskell,Parsec,Parser Combinators,我已经读到Haskell解析器组合器(在Parsec中)可以解析上下文敏感语法。Scala解析器组合器也是这样吗?如果是,这就是“into”(又名“>>”)函数的用途吗 与Haskell相比,Scala实现解析器组合器有哪些优点/缺点?他们接受同一类语法吗?是否更容易生成错误消息或使用其中一个执行其他杂项有用的操作 packrat解析(在Scala 2.8中引入)如何适应这张图片 是否有网页或其他资源显示不同的操作员/功能/DSL sugar如何从一种语言的实现映射到另一种语言的实现?您有很多问
是否有网页或其他资源显示不同的操作员/功能/DSL sugar如何从一种语言的实现映射到另一种语言的实现?您有很多问题 比较parsec(它只是众多Haskell解析器组合器库中的一个)和parsec的Scala实现 这里没有人进行过比较,因为Scala代码相当新,但请查看文档:
- +
不,但那太酷了。然而,几乎所有(?)parser combinator库都基于领先的parsec实现,因此它们与原始parsec有很多共同之处。还有以下技术报告: 解析器组合器在Haskell等函数式编程语言中是众所周知的。在本文中,我们描述了如何在Scala(一种面向对象的函数语言)中将它们实现为一个库。由于Scala灵活的语法,我们能够接近专用解析器生成器支持的EBNF表示法。对于新手,我们首先通过从头开发一个最小库来解释解析器组合器的概念。然后,我们将详细介绍现有的Scala库,包括它支持将变量绑定表示为语法的一部分。我们提供了几个现实的例子来说明我们的库的实用性
@Adrian Moors:是否有一份出版物介绍了Scala 2.8 combinator解析器库的新增内容?我不这么认为,但我会问Tiark——我从2.7开始就没有研究过解析器。