parboiled2 のドキュメントでは、結果を得るために次のことが言及されています。
https://github.com/sirthias/parboiled2#access-to-parser-results
val parser = new MyParser(input)
val result = parser.rootRule.run()
ただし、そのアプローチに思われることを試みると、コンパイルエラーが発生します。
パーサーの概要は次のとおりです。
case class CsvParser(input: ParserInput, delimiter: String = ",") extends Parser {
..
def file = zeroOrMore(line) ~ EOI
}
それを実行しようとするコード
val in = new StringBasedParserInput(readFile(fname))
val p = new CsvParser(in)
println(p.toString)
p.file.run
ただし、「実行」は受け入れられません。
Error:(81, 12) too few argument lists for macro invocation p.file.run
^