Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 28th, 2012  |  syntax: None  |  size: 0.55 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. // vim:set noet sw=3 ts=3 sts=3
  2.  
  3. import scala.util.parsing.combinator._
  4. import java.io.FileReader
  5.  
  6. class XselfParser extends RegexParsers {
  7.         def expression: Parser[Any] = opt("(")~rep(identifier)~opt(")")
  8.         def identifier: Parser[Any] = rep("""[a-zA-Z0-9]""".r | symbol)
  9.         def symbol:     Parser[Any] = "~" | "!" | "@" | "$" | "%" | "^" | "&" | "*" | "-" | "_" | "=" | "+" | "|" | ":" | "<" | ">" | "/" | "?"
  10. }
  11.  
  12. object Xself extends XselfParser {
  13.         def main(args: Array[String]) {
  14.                 val reader = new FileReader(args(0))
  15.                 println(parseAll(expression, reader))
  16.         }
  17. }