summaryrefslogtreecommitdiff
path: root/docs/examples/parsing/ArithmeticParser.scala
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/parsing/ArithmeticParser.scala')
-rw-r--r--docs/examples/parsing/ArithmeticParser.scala14
1 files changed, 7 insertions, 7 deletions
diff --git a/docs/examples/parsing/ArithmeticParser.scala b/docs/examples/parsing/ArithmeticParser.scala
index e8fbee4499..99cf7a5578 100644
--- a/docs/examples/parsing/ArithmeticParser.scala
+++ b/docs/examples/parsing/ArithmeticParser.scala
@@ -15,16 +15,16 @@ import scala.util.parsing.combinator.syntactical.StdTokenParsers
* a term is a sequence of factors, separated by * or /
* a factor is a parenthesized expression or a number
*
- * @author Adriaan Moors
- */
-object arithmeticParser extends StdTokenParsers {
+ * @author Adriaan Moors
+ */
+object arithmeticParser extends StdTokenParsers {
type Tokens = StdLexical ; val lexical = new StdLexical
lexical.delimiters ++= List("(", ")", "+", "-", "*", "/")
lazy val expr = term*("+" ^^^ {(x: int, y: int) => x + y} | "-" ^^^ {(x: int, y: int) => x - y})
lazy val term = factor*("*" ^^^ {(x: int, y: int) => x * y} | "/" ^^^ {(x: int, y: int) => x / y})
lazy val factor: Parser[int] = "(" ~> expr <~ ")" | numericLit ^^ (_.toInt)
-
+
def main(args: Array[String]) {
println(
if (args.length == 1) {
@@ -37,14 +37,14 @@ object arithmeticParser extends StdTokenParsers {
}
-object arithmeticParserDesugared extends StdTokenParsers {
+object arithmeticParserDesugared extends StdTokenParsers {
type Tokens = StdLexical ; val lexical = new StdLexical
lexical.delimiters ++= List("(", ")", "+", "-", "*", "/")
lazy val expr = chainl1(term, (keyword("+").^^^{(x: int, y: int) => x + y}).|(keyword("-").^^^{(x: int, y: int) => x - y}))
lazy val term = chainl1(factor, (keyword("*").^^^{(x: int, y: int) => x * y}).|(keyword("/").^^^{(x: int, y: int) => x / y}))
- lazy val factor: Parser[int] = keyword("(").~>(expr.<~(keyword(")"))).|(numericLit.^^(x => x.toInt))
-
+ lazy val factor: Parser[int] = keyword("(").~>(expr.<~(keyword(")"))).|(numericLit.^^(x => x.toInt))
+
def main(args: Array[String]) {
println(
if (args.length == 1) {