summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2004-05-27 09:04:40 +0000
committerburaq <buraq@epfl.ch>2004-05-27 09:04:40 +0000
commite90524b7715b249359b36412e0e20430b8ea118e (patch)
tree071e715bcbeec4404e78c6db9ca527f17c882867
parent8dcb4da871915fcbd55b062843332d5b9c2e0ac8 (diff)
downloadscala-e90524b7715b249359b36412e0e20430b8ea118e.tar.gz
scala-e90524b7715b249359b36412e0e20430b8ea118e.tar.bz2
scala-e90524b7715b249359b36412e0e20430b8ea118e.zip
move to lib
-rw-r--r--sources/scala/tools/dtd2scala/regexp/Alt.scala4
-rw-r--r--sources/scala/tools/dtd2scala/regexp/Eps.scala3
-rw-r--r--sources/scala/tools/dtd2scala/regexp/Node.scala3
-rw-r--r--sources/scala/tools/dtd2scala/regexp/PCDATA_.scala3
-rw-r--r--sources/scala/tools/dtd2scala/regexp/Parser.scala64
-rw-r--r--sources/scala/tools/dtd2scala/regexp/RegExp.scala15
-rw-r--r--sources/scala/tools/dtd2scala/regexp/Scanner.scala59
-rw-r--r--sources/scala/tools/dtd2scala/regexp/Seq.scala3
-rw-r--r--sources/scala/tools/dtd2scala/regexp/Star.scala3
-rw-r--r--sources/scala/tools/dtd2scala/regexp/Tokens.scala32
10 files changed, 0 insertions, 189 deletions
diff --git a/sources/scala/tools/dtd2scala/regexp/Alt.scala b/sources/scala/tools/dtd2scala/regexp/Alt.scala
deleted file mode 100644
index fc88e9b8e0..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/Alt.scala
+++ /dev/null
@@ -1,4 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-case class Alt(rs:RegExp*) extends RegExp;
-
diff --git a/sources/scala/tools/dtd2scala/regexp/Eps.scala b/sources/scala/tools/dtd2scala/regexp/Eps.scala
deleted file mode 100644
index 0c0079745b..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/Eps.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-case object Eps extends RegExp;
diff --git a/sources/scala/tools/dtd2scala/regexp/Node.scala b/sources/scala/tools/dtd2scala/regexp/Node.scala
deleted file mode 100644
index c56b60925d..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/Node.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-case class Node(name:String) extends RegExp;
diff --git a/sources/scala/tools/dtd2scala/regexp/PCDATA_.scala b/sources/scala/tools/dtd2scala/regexp/PCDATA_.scala
deleted file mode 100644
index 5483fda9da..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/PCDATA_.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-case object PCDATA_ extends RegExp ;
diff --git a/sources/scala/tools/dtd2scala/regexp/Parser.scala b/sources/scala/tools/dtd2scala/regexp/Parser.scala
deleted file mode 100644
index 0a8e2d855a..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/Parser.scala
+++ /dev/null
@@ -1,64 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-/** Parser for regexps (content models in DTD element declarations) */
-
-object Parser with Scanner { // a bit too permissive concerning #PCDATA
-
- /** parses the argument to a regexp */
- def parse(s:String):RegExp = { initScanner( s ); regexp }
-
- // zzz parser methods zzz
- private def accept( tok:int ) = {
- if( token != tok ) error("unexpected token:"+token2string(token));
- nextToken
- }
-
- private def suffix = (token==STAR)||(token==PLUS)||(token==OPT);
-
- private def handleSuffix(s:RegExp) = {
- if( token == STAR ) { nextToken; Star( s ) }
- else if( token == PLUS ){ nextToken; Seq( s, Star( s )) }
- else if( token == OPT ) { nextToken; Alt( Eps, s ); }
- else { error("suffix expected"); PCDATA_ }
- }
-
- private def maybeSuffix(s:RegExp) = if( suffix ) handleSuffix( s ) else s;
-
- // regexp ::= seq [ '+' | '*' | '?' ]
- private def regexp:RegExp = maybeSuffix( seq );
-
- // seq ::= factor { ',' factor }
- private def seq = {
- val f = factor;
- if( token != COMMA ) f else {
- var fs:List[ RegExp ] = f :: Nil;
- while( token == COMMA ) { nextToken; fs = factor :: fs }
- Seq( fs.reverse:_* );
- }
- }
-
- // factor ::= atomSuffix { '|' atomSuffix }
- private def factor:RegExp = {
- var a = atomSuffix;
- if( token != CHOICE ) a else {
- var as:List[ RegExp ] = a :: Nil;
- while( token == CHOICE ) { nextToken; as = atomSuffix :: as; }
- Alt( as.reverse:_* );
- }
- }
-
- // atomSuffix ::= atom [ '+' | '*' | '?' ]
- private def atomSuffix = maybeSuffix( atom );
-
- // atom ::= '(' regexp ')'
- // | '#PCDATA'
- // | node
- // | END
- private def atom =
- if( token == LPAREN ) { nextToken; val a = regexp; accept( RPAREN ); a }
- else if( token == PCD ) { nextToken; PCDATA_ }
- else if( token == NODE ){ val a = Node( value ); nextToken; a }
- else if( token == END ) { Eps }
- else error("unexpected token:"+token2string( token ));
-
-}
diff --git a/sources/scala/tools/dtd2scala/regexp/RegExp.scala b/sources/scala/tools/dtd2scala/regexp/RegExp.scala
deleted file mode 100644
index e5c12ac588..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/RegExp.scala
+++ /dev/null
@@ -1,15 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-abstract class RegExp ;
-
-//case class Node(name:String) extends RegExp;
-//case object PCDATA_ extends RegExp ;
-
-//case object Eps extends RegExp;
-//case class Star(r:RegExp) extends RegExp;
-//case class Seq(rs:RegExp*) extends RegExp;
-//case class Alt(rs:RegExp*) extends RegExp;
-
-object RegExp {
- def parse(s:String):RegExp = Parser.parse( s );
-}
diff --git a/sources/scala/tools/dtd2scala/regexp/Scanner.scala b/sources/scala/tools/dtd2scala/regexp/Scanner.scala
deleted file mode 100644
index 7a99c0e2c7..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/Scanner.scala
+++ /dev/null
@@ -1,59 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-/** Scanner for regexps (content models in DTD element declarations) */
-class Scanner with Tokens {
-
- // zzz constants zzz
- private val ENDCH:char = '%';
-
- // zzz fields zzz
- var token:int = 0;
- var value:String = "";
-
- private var it:Iterator[char] = null;
- private var c:char = 'z';
-
-
- /** initializes the scanner on input s */
- def initScanner( s:String ) = {
- it = Iterator.fromString(s);
- next;
- token = 0;
- nextToken;
- }
-
- /** scans the next token */
- def nextToken = { token = if( token != END ) readToken else END }
-
- // zzz scanner methods zzz
-
- // todo: see XML specification... probably isLetter,isDigit is fine
- private def isIdentChar = { ('a' <= c && c <= 'z')
- || ('A' <= c && c <= 'Z')};
-
- private def next = if( it.hasNext ) c = it.next else c = ENDCH;
-
- private def skip( i:int ):Unit = if( i > 0 ) { next; skip(i-1) } else { }
-
- private def readToken:int = c.match {
- case '(' => next; LPAREN;
- case ')' => next; RPAREN;
- case ',' => next; COMMA;
- case '*' => next; STAR;
- case '+' => next; PLUS;
- case '?' => next; OPT;
- case '|' => next; CHOICE;
- case '#' => skip( "PCDATA".length() ); next; PCD
- case '%' => END;
- case _ => if( isIdentChar )
- { readValue; NODE }
- else
- { error("unexpected character:"+c); END }
- }
-
- private def readValue = {
- var buf = c :: Nil; next; while ( isIdentChar ) { buf = c::buf; next }
- value = buf.foldLeft ("") { ( s, c ) => c+s };
- }
-
-}
diff --git a/sources/scala/tools/dtd2scala/regexp/Seq.scala b/sources/scala/tools/dtd2scala/regexp/Seq.scala
deleted file mode 100644
index f2658f7c20..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/Seq.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-case class Seq(rs:RegExp*) extends RegExp;
diff --git a/sources/scala/tools/dtd2scala/regexp/Star.scala b/sources/scala/tools/dtd2scala/regexp/Star.scala
deleted file mode 100644
index 8927ff70e9..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/Star.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-case class Star(r:RegExp) extends RegExp;
diff --git a/sources/scala/tools/dtd2scala/regexp/Tokens.scala b/sources/scala/tools/dtd2scala/regexp/Tokens.scala
deleted file mode 100644
index 2cc704a4f4..0000000000
--- a/sources/scala/tools/dtd2scala/regexp/Tokens.scala
+++ /dev/null
@@ -1,32 +0,0 @@
-package scala.tools.dtd2scala.regexp ;
-
-class Tokens {
-
- // Tokens
-
- val PCD = 0;
- val NODE = 1;
- val EMPTY = 2;
- val LPAREN = 3;
- val RPAREN = 4;
- val COMMA = 5;
- val STAR = 6;
- val PLUS = 7;
- val OPT = 8;
- val CHOICE = 9;
- val END = 10;
-
- def token2string( i:int ):String = i.match {
- case 0 => "#PCD";
- case 1 => "NODE";
- case 2 => "EMPTY";
- case 3 => "(";
- case 4 => ")";
- case 5 => ",";
- case 6 => "*";
- case 7 => "+";
- case 8 => "?";
- case 9 => "|";
- case 10 => "END";
- }
-}