1 "{ Package: 'squeak:petitparser' }" |
1 "{ Package: 'squeak:petitparser' }"! |
2 |
|
3 ! |
|
4 |
2 |
5 !Block methodsFor:'*petitparser-core-converting'! |
3 !Block methodsFor:'*petitparser-core-converting'! |
6 |
4 |
7 asParser |
5 asParser |
8 ^ PPPluggableParser on: self |
6 ^ PPPluggableParser on: self |
9 ! ! |
7 ! ! |
|
8 |
10 !BlockContext methodsFor:'*petitparser-core-converting'! |
9 !BlockContext methodsFor:'*petitparser-core-converting'! |
11 |
10 |
12 asParser |
11 asParser |
13 ^ PPPluggableParser on: self |
12 ^ PPPluggableParser on: self |
14 ! ! |
13 ! ! |
|
14 |
15 !Character methodsFor:'arithmetic'! |
15 !Character methodsFor:'arithmetic'! |
16 |
16 |
17 - aMagnitude |
17 - aMagnitude |
18 "Return the Character that is <aMagnitude> lower than the receiver. |
18 "Return the Character that is <aMagnitude> lower than the receiver. |
19 Wrap if the resulting value is not a legal Character value. (JS) |
19 Wrap if the resulting value is not a legal Character value. (JS) |
33 " |
33 " |
34 |
34 |
35 "Modified: / 27-06-1996 / 12:35:34 / cg" |
35 "Modified: / 27-06-1996 / 12:35:34 / cg" |
36 "Modified: / 19-12-2010 / 18:36:56 / Jan Kurs <kurs.jan@post.cz>" |
36 "Modified: / 19-12-2010 / 18:36:56 / Jan Kurs <kurs.jan@post.cz>" |
37 ! ! |
37 ! ! |
|
38 |
38 !Character methodsFor:'*petitparser-converting'! |
39 !Character methodsFor:'*petitparser-converting'! |
39 |
40 |
40 asParser |
41 asParser |
41 ^ PPLiteralObjectParser on: self |
42 ^ PPLiteralObjectParser on: self |
42 ! ! |
43 ! ! |
|
44 |
43 !Character methodsFor:'arithmetic'! |
45 !Character methodsFor:'arithmetic'! |
44 |
46 |
45 ppMinus: aCharacter |
47 ppMinus: aCharacter |
46 "Create a range of characters between the receiver and the argument." |
48 "Create a range of characters between the receiver and the argument." |
47 |
49 |
48 ^ PPPredicateObjectParser between: self and: aCharacter |
50 ^ PPPredicateObjectParser between: self and: aCharacter |
49 |
51 |
50 "Created: / 19-12-2010 / 18:13:19 / Jan Kurs <kurs.jan@post.cz>" |
52 "Created: / 19-12-2010 / 18:13:19 / Jan Kurs <kurs.jan@post.cz>" |
51 ! ! |
53 ! ! |
|
54 |
52 !Object methodsFor:'*petitparser-core-converting'! |
55 !Object methodsFor:'*petitparser-core-converting'! |
53 |
56 |
54 asParser |
57 asParser |
55 ^ PPPredicateObjectParser expect: self |
58 ^ PPPredicateObjectParser expect: self |
56 ! ! |
59 ! ! |
|
60 |
57 !Object methodsFor:'*petitparser-core-testing'! |
61 !Object methodsFor:'*petitparser-core-testing'! |
58 |
62 |
59 isPetitFailure |
63 isPetitFailure |
60 ^ false |
64 ^ false |
61 ! ! |
65 ! ! |
|
66 |
62 !Object methodsFor:'*petitparser-core-testing'! |
67 !Object methodsFor:'*petitparser-core-testing'! |
63 |
68 |
64 isPetitParser |
69 isPetitParser |
65 ^ false |
70 ^ false |
66 ! ! |
71 ! ! |
|
72 |
67 !PositionableStream methodsFor:'*petitparser-core-converting'! |
73 !PositionableStream methodsFor:'*petitparser-core-converting'! |
68 |
74 |
69 asPetitStream |
75 asPetitStream |
70 "Some of my subclasses do not use the instance-variables collection, position and readLimit but instead have a completely different internal representation. In these cases just use the super implementation that is inefficient but should work in all cases." |
76 "Some of my subclasses do not use the instance-variables collection, position and readLimit but instead have a completely different internal representation. In these cases just use the super implementation that is inefficient but should work in all cases." |
71 |
77 |
81 "/ ifFalse: [ PPStream on: collection from: position to: readLimit ] |
87 "/ ifFalse: [ PPStream on: collection from: position to: readLimit ] |
82 "/ ifTrue: [ super asPetitStream ] |
88 "/ ifTrue: [ super asPetitStream ] |
83 |
89 |
84 "Modified: / 18-12-2010 / 17:38:01 / Jan Kurs <kurs.jan@post.cz>" |
90 "Modified: / 18-12-2010 / 17:38:01 / Jan Kurs <kurs.jan@post.cz>" |
85 ! ! |
91 ! ! |
|
92 |
86 !SequenceableCollection methodsFor:'*petitparser-core-converting'! |
93 !SequenceableCollection methodsFor:'*petitparser-core-converting'! |
87 |
94 |
88 asParser |
95 asParser |
89 ^ PPSequenceParser withAll: (self collect: [ :each | each asParser ]) |
96 ^ PPSequenceParser withAll: (self collect: [ :each | each asParser ]) |
90 ! ! |
97 ! ! |
|
98 |
91 !SequenceableCollection methodsFor:'*petitparser-core-converting'! |
99 !SequenceableCollection methodsFor:'*petitparser-core-converting'! |
92 |
100 |
93 asPetitStream |
101 asPetitStream |
94 ^ PPStream on: self |
102 ^ PPStream on: self |
95 ! ! |
103 ! ! |
|
104 |
96 !Set methodsFor:'*petitparser-core-converting'! |
105 !Set methodsFor:'*petitparser-core-converting'! |
97 |
106 |
98 asParser |
107 asParser |
99 ^ PPChoiceParser withAll: (self collect: [ :each | each asParser ]) |
108 ^ PPChoiceParser withAll: (self collect: [ :each | each asParser ]) |
100 ! ! |
109 ! ! |
|
110 |
101 !Stream methodsFor:'*petitparser-core-converting'! |
111 !Stream methodsFor:'*petitparser-core-converting'! |
102 |
112 |
103 asPetitStream |
113 asPetitStream |
104 ^ self contents asPetitStream |
114 ^ self contents asPetitStream |
105 ! ! |
115 ! ! |
|
116 |
106 !String methodsFor:'*petitparser-core-converting'! |
117 !String methodsFor:'*petitparser-core-converting'! |
107 |
118 |
108 asParser |
119 asParser |
109 ^ PPLiteralSequenceParser on: self |
120 ^ PPLiteralSequenceParser on: self |
110 ! ! |
121 ! ! |
|
122 |
111 !Symbol methodsFor:'*petitparser-core-converting'! |
123 !Symbol methodsFor:'*petitparser-core-converting'! |
112 |
124 |
113 asParser |
125 asParser |
114 ^ PPPredicateObjectParser perform: self |
126 ^ PPPredicateObjectParser perform: self |
115 ! ! |
127 ! ! |
|
128 |
116 !Symbol methodsFor:'Compatibility-Squeak'! |
129 !Symbol methodsFor:'Compatibility-Squeak'! |
117 |
130 |
118 value:anObject |
131 value:anObject |
119 ^ anObject perform: self. |
132 ^ anObject perform: self. |
120 |
133 |
121 "Created: / 18-12-2010 / 16:47:22 / Jan Kurs <kurs.jan@post.cz>" |
134 "Created: / 18-12-2010 / 16:47:22 / Jan Kurs <kurs.jan@post.cz>" |
122 ! ! |
135 ! ! |
|
136 |
123 !Text methodsFor:'*petitparser-core'! |
137 !Text methodsFor:'*petitparser-core'! |
124 |
138 |
125 asPetitStream |
139 asPetitStream |
126 ^ string asPetitStream |
140 ^ string asPetitStream |
127 ! ! |
141 ! ! |
|
142 |
128 !UndefinedObject methodsFor:'*petitparser-converting'! |
143 !UndefinedObject methodsFor:'*petitparser-converting'! |
129 |
144 |
130 asParser |
145 asParser |
131 ^ PPEpsilonParser new |
146 ^ PPEpsilonParser new |
132 ! ! |
147 ! ! |
|
148 |
|
149 !squeak_petitparser class methodsFor:'documentation'! |
|
150 |
|
151 extensionsVersion_CVS |
|
152 ^ '$Header: /cvs/stx/stx/goodies/petitparser/extensions.st,v 1.2 2011-09-12 17:48:53 cg Exp $' |
|
153 ! ! |