summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2004-07-05 15:34:37 +0000
committerburaq <buraq@epfl.ch>2004-07-05 15:34:37 +0000
commite667e3d3d6b2d6580a126d0cfda7e77eb31e767d (patch)
tree7adb10b7a635300b51e60dcbc8433327b188d2eb
parent417eeecba650884191bdad8b1579b2555e05e796 (diff)
downloadscala-e667e3d3d6b2d6580a126d0cfda7e77eb31e767d.tar.gz
scala-e667e3d3d6b2d6580a126d0cfda7e77eb31e767d.tar.bz2
scala-e667e3d3d6b2d6580a126d0cfda7e77eb31e767d.zip
removed regexp, moved to new file
-rw-r--r--sources/scala/xml/dtd/RegExp.scala112
1 files changed, 0 insertions, 112 deletions
diff --git a/sources/scala/xml/dtd/RegExp.scala b/sources/scala/xml/dtd/RegExp.scala
deleted file mode 100644
index 6ad414e73b..0000000000
--- a/sources/scala/xml/dtd/RegExp.scala
+++ /dev/null
@@ -1,112 +0,0 @@
-package scala.xml.dtd ;
-
-/** contains parse method to parse regexp from content model */
-object RegExp {
- /** parse a regular expression from a DTD content model */
- def parse(s:String):RegExp = Parser.parse( s );
-}
-
-/** abstract super class of regular expressions for DTD content models */
-abstract class RegExp {
- def toRegExp(): String;
- def getLabels: scala.collection.Set[String] = {
- val s = new scala.collection.mutable.HashSet[String]();
- def traverse1(xs: Seq[RegExp]): Unit = {
- val it = xs.elements;
- while( it.hasNext )
- traverse( it.next );
- }
- def traverse(r: RegExp): Unit = {
- r match {
- case RNode( name ) => s += name;
- case Star( x @ _ ) => traverse( x ); // bug if x@_*
- case Sequ( xs @ _* ) => traverse1(xs);
- case Alt( xs @ _* ) => traverse1(xs);
- }
- }
- traverse( this );
- return s
- }
-}
-
-
-case class RNode( name:String ) extends RegExp {
- final def toRegExp() = name;
- final override def toString() = {
- val sb = new StringBuffer("RNode(\"");
- sb.append(name);
- sb.append('"');
- sb.append(')');
- sb.toString()
- }
-};
-case object PCDATA_ extends RegExp {
- final def toRegExp() = "#PCDATA";
- override def toString() = "PCDATA_";
-}
-case object ANY_ extends RegExp {
- final def toRegExp() = "ANY";
- override def toString() = "ANY_";
-}
-case object Eps extends RegExp {
- final def toRegExp() = "()";
- override def toString() = "Eps";
-}
-case class Star(r:RegExp) extends RegExp {
- final def toRegExp() = r.toRegExp()+"*";
-}
-/** rs should be not empty */
-case class Sequ(rs:RegExp*) extends RegExp {
- final def toRegExp() = {
- val it = rs.elements;
- val sb = new StringBuffer();
- sb.append('(');
- sb.append( it.next.toRegExp() );
- for( val z <- it ) {
- sb.append( ',' );
- sb.append( z.toRegExp() );
- }
- sb.append( ')' );
- sb.toString();
- }
- final override def toString() = {
- val it = rs.elements;
- val sb = new StringBuffer("Alt(");
- sb.append( it.next.toString() );
- for( val z <- it ) {
- sb.append( ',' );
- sb.append( z.toString() );
- }
- sb.append( ')' );
- sb.toString();
- }}
-/** rs should be not empty */
-case class Alt(rs:RegExp*) extends RegExp {
- final def mixed:boolean = {
- val it = rs.elements;
- ( it.next == PCDATA_ ) && it.forall { x:RegExp => x.isInstanceOf[RNode] }
- }
- final def toRegExp() = {
- val it = rs.elements;
- val sb = new StringBuffer();
- sb.append('(');
- sb.append( it.next.toRegExp() );
- for( val z <- it ) {
- sb.append( '|' );
- sb.append( z.toRegExp() );
- }
- sb.append(')');
- sb.toString();
- }
- final override def toString() = {
- val it = rs.elements;
- val sb = new StringBuffer("Alt(");
- sb.append( it.next.toString() );
- for( val z <- it ) {
- sb.append( ',' );
- sb.append( z.toString() );
- }
- sb.append( ')' );
- sb.toString();
- }
-}