|
Scala example source code file (t0700.scala)
The Scala t0700.scala source code
import java.io.{File,StringReader}
import scala.util.parsing.combinator.Parsers
import scala.util.parsing.input.{CharArrayReader, StreamReader}
class TestParsers extends Parsers {
type Elem = Char
def p: Parser[List[Int]] = rep(p1 | p2)
def p1: Parser[Int] = 'a' ~ nl ~ 'b' ~ nl ^^^ 1
def p2: Parser[Int] = 'a' ~ nl ^^^ 2
def nl: Parser[Int] = rep(accept('\n') | accept('\r')) ^^^ 0
}
object Test {
def main(args: Array[String]): Unit = {
val tstParsers = new TestParsers
val s = "a\na\na"
val r1 = new CharArrayReader(s.toCharArray())
val r2 = StreamReader(new StringReader(s))
println(tstParsers.p(r1))
println(tstParsers.p(r2))
}
}
Other Scala examples (source code examples)Here is a short list of links related to this Scala t0700.scala source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.