author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Thu, 10 Sep 2015 07:13:16 +0100 | |
changeset 547 | 0b8c75af51a0 |
parent 377 | 6112a403a52d |
permissions | -rw-r--r-- |
175 | 1 |
"{ Package: 'stx:goodies/petitparser' }" |
2 |
||
3 |
PPRepeatingParser subclass:#PPPossessiveRepeatingParser |
|
4 |
instanceVariableNames:'' |
|
5 |
classVariableNames:'' |
|
6 |
poolDictionaries:'' |
|
7 |
category:'PetitParser-Parsers' |
|
8 |
! |
|
9 |
||
10 |
||
11 |
!PPPossessiveRepeatingParser methodsFor:'parsing'! |
|
12 |
||
377
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
175
diff
changeset
|
13 |
parseOn: aPPContext |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
175
diff
changeset
|
14 |
| memento element elements | |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
175
diff
changeset
|
15 |
memento := aPPContext remember. |
175 | 16 |
elements := OrderedCollection new. |
17 |
[ elements size < min ] whileTrue: [ |
|
377
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
175
diff
changeset
|
18 |
(element := parser parseOn: aPPContext) isPetitFailure ifTrue: [ |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
175
diff
changeset
|
19 |
aPPContext restore: memento. |
175 | 20 |
^ element ]. |
21 |
elements addLast: element ]. |
|
22 |
[ elements size < max ] whileTrue: [ |
|
377
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
175
diff
changeset
|
23 |
(element := parser parseOn: aPPContext) isPetitFailure |
175 | 24 |
ifTrue: [ ^ elements asArray ]. |
25 |
elements addLast: element ]. |
|
26 |
^ elements asArray |
|
27 |
! ! |
|
28 |
||
29 |
!PPPossessiveRepeatingParser class methodsFor:'documentation'! |
|
30 |
||
31 |
version |
|
32 |
^ '$Header: /cvs/stx/stx/goodies/petitparser/PPPossessiveRepeatingParser.st,v 1.1 2014-03-04 14:33:19 cg Exp $' |
|
33 |
! |
|
34 |
||
35 |
version_CVS |
|
36 |
^ '$Header: /cvs/stx/stx/goodies/petitparser/PPPossessiveRepeatingParser.st,v 1.1 2014-03-04 14:33:19 cg Exp $' |
|
37 |
! ! |
|
38 |