summaryrefslogtreecommitdiff
path: root/src/library/scala/util/parsing/combinator/testing/RegexTest.scala
blob: 80e9b0df3916f9303dba677844e32cfbab42e50e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package scala.util.parsing.combinator.testing

import scala.util.parsing.combinator._
import scala.util.parsing.input._
import scala.language.postfixOps

@deprecated("This class will be removed", "2.10.0")
case class Ident(s: String)
@deprecated("This class will be removed", "2.10.0")
case class Number(n: Int)
@deprecated("This class will be removed", "2.10.0")
case class Str(s: String)

@deprecated("This class will be removed", "2.10.0")
object RegexTest extends RegexParsers {
  val ident: Parser[Any] = """[a-zA-Z_]\w*""".r ^^ (s => Ident(s))
  val number: Parser[Any] = """\d\d*""".r ^^ (s => Number(s.toInt))
  val string: Parser[Any] = "\".*\"".r ^^ (s => Str(s.substring(1, s.length - 1)))
  val parser = (ident | number | string)*

  def main(args: Array[String]) = {
    val in = args mkString " "
    println("\nin : "+in)
    println(phrase[Any](parser)(new CharSequenceReader(in)))
  }
}