From 65f51cdb854a73e566d86b403d23c0a775c4e0ff Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Sat, 10 Mar 2012 14:16:40 -0500 Subject: [PATCH] convenience functions for testing parsers --- util/complete/Parser.scala | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/util/complete/Parser.scala b/util/complete/Parser.scala index 5f9086b58..e299edfd0 100644 --- a/util/complete/Parser.scala +++ b/util/complete/Parser.scala @@ -283,6 +283,16 @@ trait ParserMain ProcessError(str, msgs, pos) } + def sample(str: String, parser: Parser[_], completions: Boolean = false): Unit = + if(completions) sampleParse(str, parser) else sampleCompletions(str, parser) + def sampleParse(str: String, parser: Parser[_]): Unit = + parse(str, parser) match { + case Left(msg) => println(msg) + case Right(v) => println(v) + } + def sampleCompletions(str: String, parser: Parser[_], level: Int = 1): Unit = + Parser.completions(parser, str, level).get foreach println + // intended to be temporary pending proper error feedback def result[T](p: Parser[T], s: String): Either[() => (Seq[String],Int), T] = {