author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Fri, 24 Jul 2015 15:06:54 +0100 | |
changeset 502 | 1e45d3c96ec5 |
parent 382 | 1825151d6455 |
child 642 | 77d5fddb6462 |
permissions | -rw-r--r-- |
4 | 1 |
"{ Package: 'stx:goodies/petitparser' }" |
0 | 2 |
|
3 |
PPLiteralParser subclass:#PPLiteralSequenceParser |
|
4 |
instanceVariableNames:'size' |
|
5 |
classVariableNames:'' |
|
6 |
poolDictionaries:'' |
|
7 |
category:'PetitParser-Parsers' |
|
8 |
! |
|
9 |
||
10 |
||
11 |
!PPLiteralSequenceParser methodsFor:'accessing'! |
|
12 |
||
13 |
size |
|
14 |
"Answer the sequence size of the receiver." |
|
15 |
||
16 |
^ size |
|
17 |
! ! |
|
18 |
||
19 |
!PPLiteralSequenceParser methodsFor:'initialization'! |
|
20 |
||
21 |
initializeOn: anObject message: aString |
|
22 |
super initializeOn: anObject message: aString. |
|
23 |
size := literal size |
|
24 |
! ! |
|
25 |
||
26 |
!PPLiteralSequenceParser methodsFor:'operators'! |
|
27 |
||
28 |
caseInsensitive |
|
29 |
"Answer a parser that can parse the receiver case-insensitive." |
|
9 | 30 |
|
0 | 31 |
literal asUppercase = literal asLowercase ifTrue: [ ^ self ]. |
32 |
^ PPPredicateSequenceParser on: [ :value | literal sameAs: value ] message: message size: size |
|
33 |
! ! |
|
34 |
||
35 |
!PPLiteralSequenceParser methodsFor:'parsing'! |
|
36 |
||
377
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
37 |
parseOn: aPPContext |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
38 |
| memento result | |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
39 |
memento := aPPContext remember. |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
40 |
result := aPPContext next: size. |
0 | 41 |
literal = result ifTrue: [ ^ result ]. |
377
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
42 |
aPPContext restore: memento. |
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
43 |
^ PPFailure message: message context: aPPContext |
0 | 44 |
! ! |
45 |
||
46 |
!PPLiteralSequenceParser class methodsFor:'documentation'! |
|
47 |
||
9 | 48 |
version |
49 |
^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLiteralSequenceParser.st,v 1.3 2012-05-04 21:58:27 vrany Exp $' |
|
50 |
! |
|
51 |
||
52 |
version_CVS |
|
53 |
^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLiteralSequenceParser.st,v 1.3 2012-05-04 21:58:27 vrany Exp $' |
|
54 |
! |
|
55 |
||
382
1825151d6455
Added target `mcz` to export .mcz package out of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
56 |
version_HG |
1825151d6455
Added target `mcz` to export .mcz package out of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
57 |
|
1825151d6455
Added target `mcz` to export .mcz package out of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
58 |
^ '$Changeset: <not expanded> $' |
1825151d6455
Added target `mcz` to export .mcz package out of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
59 |
! |
1825151d6455
Added target `mcz` to export .mcz package out of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
377
diff
changeset
|
60 |
|
0 | 61 |
version_SVN |
9 | 62 |
^ '§Id: PPLiteralSequenceParser.st 2 2010-12-17 18:44:23Z vranyj1 §' |
0 | 63 |
! ! |
377
6112a403a52d
Updated to latest version from Moose repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
64 |