diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2008-02-07 12:39:51 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2008-02-07 12:39:51 +0000 |
commit | 0eae9599357eb76fb38d2a95d1d4d6f089b814b3 (patch) | |
tree | 0cb296642e3d3f8b4d9d63bfab76d374750d3c13 /docs/examples/parsing/ListParser.scala | |
parent | f3e42a50ab77e51040b3698c710b1ca86bfc0611 (diff) | |
download | scala-0eae9599357eb76fb38d2a95d1d4d6f089b814b3.tar.gz scala-0eae9599357eb76fb38d2a95d1d4d6f089b814b3.tar.bz2 scala-0eae9599357eb76fb38d2a95d1d4d6f089b814b3.zip |
updated examples and json parser to use combina...
updated examples and json parser to use combinator1-style parsing,
have not yet renamed combinator -> combinatorold, and combinator1 ->
combinator --> doing that using SVN rename, so history is preserved
(thus, the build for this revision will break, but the next one should
be okay. sorry)
Diffstat (limited to 'docs/examples/parsing/ListParser.scala')
-rw-r--r-- | docs/examples/parsing/ListParser.scala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/examples/parsing/ListParser.scala b/docs/examples/parsing/ListParser.scala index 65354482f3..12805e5e50 100644 --- a/docs/examples/parsing/ListParser.scala +++ b/docs/examples/parsing/ListParser.scala @@ -16,8 +16,8 @@ object listParser { type Elem = Char lazy val ident = rep1(elem("letter", isLetter), elem("letter or digit", isLetterOrDigit)) ^^ {cs => Id(mkString(cs))} - lazy val number = chainl1(elem("digit", isDigit) ^^ (_ - '0'), success ^^ {(accum: Int, d: Int) => accum * 10 + d}) ^^ Num - lazy val list = '(' ~ repsep(expr, ',') ~ ')' ^^ Lst + lazy val number = chainl1(elem("digit", isDigit) ^^ (_ - '0'), success{(accum: Int, d: Int) => accum * 10 + d}) ^^ Num + lazy val list = '(' ~> repsep(expr, ',') <~ ')' ^^ Lst lazy val expr: Parser[Tree] = list | ident | number } |