首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在parboiled2中运行解析器

在parboiled2中运行解析器
EN

Stack Overflow用户
提问于 2015-11-03 22:37:18
回答 1查看 119关注 0票数 1

parboiled2的文档中提到了以下几点以获得结果:

https://github.com/sirthias/parboiled2#access-to-parser-results

代码语言:javascript
复制
val parser = new MyParser(input) 
val result = parser.rootRule.run()

然而,在尝试这种方法时,我遇到了一个编译错误:

下面是解析器的大纲:

代码语言:javascript
复制
case class CsvParser(input: ParserInput, delimiter: String = ",") extends Parser {
    ..
   def file = zeroOrMore(line) ~ EOI
}

试图运行它的代码。

代码语言:javascript
复制
val in = new StringBasedParserInput(readFile(fname))
val p = new CsvParser(in)
println(p.toString)
p.file.run

但“运行”不被接受:

错误:(81,12)宏调用p.file.run的参数列表太少

代码语言:javascript
复制
       ^
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-19 01:57:39

下面一行中的问题如下:

代码语言:javascript
复制
case class CsvParser(input: ParserInput, delimiter: String = ",") 

并且可以通过显式地将parserInput声明为val来修复

代码语言:javascript
复制
case class CsvParser(val input: ParserInput, delimiter: String = ",") 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33510410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档