@@ -14,11 +14,21 @@ import scala.xml.dtd.impl._
14
14
import scala .xml .Utility .sbToString
15
15
import PartialFunction ._
16
16
17
+ /*
18
+ @deprecated("Avoidance", since="2.10")
19
+ trait ContentModelLaundry extends WordExp
20
+ object ContentModelLaundry extends ContentModelLaundry {
21
+ }
22
+ */
23
+
17
24
object ContentModel extends WordExp {
25
+
18
26
type _labelT = ElemName
19
27
type _regexpT = RegExp
20
28
21
- object Translator extends WordBerrySethi {
29
+ @ deprecated(" Avoidance" , since= " 2.10" )
30
+ trait Translator extends WordBerrySethi
31
+ object Translator extends Translator {
22
32
override val lang : ContentModel .this .type = ContentModel .this
23
33
}
24
34
@@ -72,14 +82,15 @@ object ContentModel extends WordExp {
72
82
case Letter (ElemName (name)) =>
73
83
sb.append(name)
74
84
}
75
-
76
85
}
77
86
78
87
sealed abstract class ContentModel {
79
88
override def toString (): String = sbToString(buildString)
80
89
def buildString (sb : StringBuilder ): StringBuilder
81
90
}
82
91
92
+ import ContentModel .RegExp
93
+
83
94
case object PCDATA extends ContentModel {
84
95
override def buildString (sb : StringBuilder ): StringBuilder = sb.append(" (#PCDATA)" )
85
96
}
@@ -91,16 +102,16 @@ case object ANY extends ContentModel {
91
102
}
92
103
sealed abstract class DFAContentModel extends ContentModel {
93
104
import ContentModel .{ ElemName , Translator }
94
- def r : ContentModel . RegExp
105
+ def r : RegExp
95
106
96
107
lazy val dfa : DetWordAutom [ElemName ] = {
97
108
val nfa = Translator .automatonFrom(r, 1 )
98
109
new SubsetConstruction (nfa).determinize
99
110
}
100
111
}
101
112
102
- case class MIXED (r : ContentModel . RegExp ) extends DFAContentModel {
103
- import ContentModel .{ Alt , RegExp }
113
+ case class MIXED (r : RegExp ) extends DFAContentModel {
114
+ import ContentModel .Alt
104
115
105
116
override def buildString (sb : StringBuilder ): StringBuilder = {
106
117
val newAlt = r match { case Alt (rs@_* ) => Alt (rs drop 1 : _* ) }
@@ -111,7 +122,7 @@ case class MIXED(r: ContentModel.RegExp) extends DFAContentModel {
111
122
}
112
123
}
113
124
114
- case class ELEMENTS (r : ContentModel . RegExp ) extends DFAContentModel {
125
+ case class ELEMENTS (r : RegExp ) extends DFAContentModel {
115
126
override def buildString (sb : StringBuilder ): StringBuilder =
116
127
ContentModel .buildString(r, sb)
117
128
}
0 commit comments