PPRepeatingParser.st
changeset 179 c7539657b514
parent 52 9ddc30d7e0ca
child 378 53d66ecfeb1b
--- a/PPRepeatingParser.st	Tue Mar 04 15:33:22 2014 +0100
+++ b/PPRepeatingParser.st	Tue Mar 04 15:33:24 2014 +0100
@@ -26,6 +26,18 @@
 	^ (self on: aParser) setMin: aMinInteger max: aMaxInteger
 ! !
 
+!PPRepeatingParser methodsFor:'*petitanalyzer-matching'!
+
+match: aParser inContext: aDictionary seen: anIdentitySet
+	^ (super match: aParser inContext: aDictionary seen: anIdentitySet) and: [ self min = aParser min and: [ self max = aParser max ] ]
+! !
+
+!PPRepeatingParser methodsFor:'*petitanalyzer-testing'!
+
+isNullable
+	^ min = 0
+! !
+
 !PPRepeatingParser methodsFor:'accessing'!
 
 max
@@ -42,6 +54,19 @@
 
 !PPRepeatingParser methodsFor:'initialization'!
 
+initialize
+	super initialize.
+	self setMin: 0; setMax: SmallInteger maxVal
+!
+
+setMax: anInteger
+	max := anInteger
+!
+
+setMin: anInteger
+	min := anInteger
+!
+
 setMin: aMinInteger max: aMaxInteger
 	min := aMinInteger.
 	max := aMaxInteger
@@ -76,13 +101,14 @@
 !PPRepeatingParser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPRepeatingParser.st,v 1.3 2012-05-04 22:09:29 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPRepeatingParser.st,v 1.4 2014-03-04 14:33:24 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPRepeatingParser.st,v 1.3 2012-05-04 22:09:29 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPRepeatingParser.st,v 1.4 2014-03-04 14:33:24 cg Exp $'
 !
 
 version_SVN
-    ^ '§Id: PPRepeatingParser.st 2 2010-12-17 18:44:23Z vranyj1 §'
+    ^ '$Id: PPRepeatingParser.st,v 1.4 2014-03-04 14:33:24 cg Exp $'
 ! !
+