1
Документов для parboiled2 отметить следующее, чтобы получить результаты:Запуск парсер внутри parboiled2
https://github.com/sirthias/parboiled2#access-to-parser-results
val parser = new MyParser(input)
val result = parser.rootRule.run()
Однако я получаю ошибку компиляции, когда attemping что, кажется, такой подход:
Здесь является схемой анализатора:
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
^
'вал в = новый StringBasedParserInput (ReadFile (Fname))' -> нет необходимости использовать этот конструктор. Таким образом, вы можете передать строку внутри вашего парсера csv. И он будет автоматически преобразован – ppopoff