From e55510607031aaf7b8473453f83c44a26c9b97e0 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 9 Dec 2013 11:06:22 -0800 Subject: Remove docs/examples; they reside at scala/scala-dist --- docs/examples/parsing/ArithmeticParsers.scala | 70 --------------------------- 1 file changed, 70 deletions(-) delete mode 100644 docs/examples/parsing/ArithmeticParsers.scala (limited to 'docs/examples/parsing/ArithmeticParsers.scala') diff --git a/docs/examples/parsing/ArithmeticParsers.scala b/docs/examples/parsing/ArithmeticParsers.scala deleted file mode 100644 index 62d7a61862..0000000000 --- a/docs/examples/parsing/ArithmeticParsers.scala +++ /dev/null @@ -1,70 +0,0 @@ -package examples.parsing - -import scala.util.parsing.combinator1.syntactical.StandardTokenParsers - -object ArithmeticParsers extends StandardTokenParsers { - lexical.delimiters ++= List("(", ")", "+", "-", "*", "/") - - def expr: Parser[Any] = term ~ rep("+" ~ term | "-" ~ term) - def term = factor ~ rep("*" ~ factor | "/" ~ factor) - def factor: Parser[Any] = "(" ~ expr ~ ")" | numericLit - - def main(args: Array[String]) { - val tokens = new lexical.Scanner(args(0)) - println(args(0)) - println(phrase(expr)(tokens)) - } -} - -object ArithmeticParsers1 extends StandardTokenParsers { - lexical.delimiters ++= List("(", ")", "+", "-", "*", "/") - - val reduceList: Int ~ List[String ~ Int] => Int = { - case i ~ ps => (i /: ps)(reduce) - } - - def reduce(x: Int, r: String ~ Int) = (r: @unchecked) match { - case "+" ~ y => x + y - case "-" ~ y => x - y - case "*" ~ y => x * y - case "/" ~ y => x / y - } - - def expr : Parser[Int] = term ~ rep ("+" ~ term | "-" ~ term) ^^ reduceList - def term : Parser[Int] = factor ~ rep ("*" ~ factor | "/" ~ factor) ^^ reduceList - def factor: Parser[Int] = "(" ~> expr <~ ")" | numericLit ^^ (_.toInt) - - def main(args: Array[String]) { - val tokens = new lexical.Scanner(args(0)) - println(args(0)) - println(phrase(expr)(tokens)) - } -} - -class Expr -case class BinOp(op: String, l: Expr, r: Expr) extends Expr -case class Num(n: Int) extends Expr - -object ArithmeticParsers2 extends StandardTokenParsers { - lexical.delimiters ++= List("(", ")", "+", "-", "*", "/") - - val reduceList: Expr ~ List[String ~ Expr] => Expr = { - case i ~ ps => (i /: ps)(reduce) - } - - def reduce(l: Expr, r: String ~ Expr) = BinOp(r._1, l, r._2) - def mkNum(s: String) = Num(s.toInt) - - def expr : Parser[Expr] = term ~ rep ("+" ~ term | "-" ~ term) ^^ reduceList - def term : Parser[Expr] = factor ~ rep ("*" ~ factor | "/" ~ factor) ^^ reduceList - def factor: Parser[Expr] = "(" ~> expr <~ ")" | numericLit ^^ ((s: String) => Num(s.toInt)) - - def main(args: Array[String]) { - val parse = phrase(expr) - val tokens = new lexical.Scanner(args(0)) - println(args(0)) - println(parse(tokens)) - } -} - - -- cgit v1.2.3