Scala StandardTokenParsers与JavaTokenParsers

时间:2010-09-08 14:02:53

标签: parsing scala

StandardTokenParsers和JavaTokenParsers之间究竟有什么区别? 什么是好事,什么是另一个好处?

在StandardTokenParsers中,我可以使用lexical.reserved定义我的关键字,但这对我有何帮助?

BR Troels

2 个答案:

答案 0 :(得分:4)

body of JavaTokenParsers实际上非常简单,让您对正在发生的事情有一个很好的感觉。具体来说,JavaTokenParsers继承自RegexParsers,它为您提供了定义匹配的灵活性; JavaTokenParsers定义了一些用于匹配标识符,数字等的示例正则表达式。我没有使用StandardTokenParsers,因为RegexParsers给了我更多的理智......你需要或多或少地定义与它们的硬字符匹配,而不是使用正则表达式。

答案 1 :(得分:2)

还有另一个重要的区别。 StandardTokenParsers解析Token实例,而JavaTokenParsers解析Char。解析失败时,您会在错误消息中看到它。 StandardTokenParsers报告完整的违规令牌,JavaTokenParsers只报告第一个字符。