author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Sat, 04 Oct 2014 21:26:15 +0100 | |
changeset 381 | 0bbbcf5da2d4 |
parent 377 | 6112a403a52d |
child 421 | 7e08b31e0dae |
permissions | -rw-r--r-- |
4 | 1 |
"{ Package: 'stx:goodies/petitparser' }" |
0 | 2 |
|
3 |
PPParser subclass:#PPPluggableParser |
|
4 |
instanceVariableNames:'block' |
|
5 |
classVariableNames:'' |
|
6 |
poolDictionaries:'' |
|
7 |
category:'PetitParser-Parsers' |
|
8 |
! |
|
9 |
||
10 |
||
11 |
!PPPluggableParser class methodsFor:'instance creation'! |
|
12 |
||
13 |
on: aBlock |
|
14 |
^ self new initializeOn: aBlock |
|
15 |
! ! |
|
16 |
||
174 | 17 |
|
0 | 18 |
!PPPluggableParser methodsFor:'accessing'! |
19 |
||
20 |
block |
|
21 |
"Answer the pluggable block." |
|
22 |
||
23 |
^ block |
|
24 |
! ! |
|
25 |
||
26 |
!PPPluggableParser methodsFor:'initialization'! |
|
27 |
||
28 |
initializeOn: aBlock |
|
29 |
block := aBlock |
|
30 |
! ! |
|
31 |
||
32 |
!PPPluggableParser methodsFor:'parsing'! |
|
33 |
||
377
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
34 |
parseOn: aPPContext |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
35 |
| memento result | |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
36 |
memento := aPPContext remember. |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
37 |
result := block value: aPPContext. |
0 | 38 |
result isPetitFailure |
377
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
174
diff
changeset
|
39 |
ifTrue: [ aPPContext restore: memento ]. |
0 | 40 |
^ result |
41 |
! ! |
|
42 |
||
43 |
!PPPluggableParser class methodsFor:'documentation'! |
|
44 |
||
55 | 45 |
version |
174 | 46 |
^ '$Header: /cvs/stx/stx/goodies/petitparser/PPPluggableParser.st,v 1.4 2014-03-04 14:33:12 cg Exp $' |
55 | 47 |
! |
48 |
||
49 |
version_CVS |
|
174 | 50 |
^ '$Header: /cvs/stx/stx/goodies/petitparser/PPPluggableParser.st,v 1.4 2014-03-04 14:33:12 cg Exp $' |
55 | 51 |
! |
52 |
||
381
0bbbcf5da2d4
`PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
53 |
version_HG |
0bbbcf5da2d4
`PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
54 |
|
0bbbcf5da2d4
`PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
55 |
^ '$Changeset: <not expanded> $' |
0bbbcf5da2d4
`PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
56 |
! |
0bbbcf5da2d4
`PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
57 |
|
0 | 58 |
version_SVN |
174 | 59 |
^ '$Id: PPPluggableParser.st,v 1.4 2014-03-04 14:33:12 cg Exp $' |
0 | 60 |
! ! |
174 | 61 |