equal
deleted
inserted
replaced
19 ^ retval |
19 ^ retval |
20 ] ifFalse: [ |
20 ] ifFalse: [ |
21 "self error: 'expected: ', tokenType storeString, ' got ', currentTokenType storeString." |
21 "self error: 'expected: ', tokenType storeString, ' got ', currentTokenType storeString." |
22 self error. |
22 self error. |
23 ] |
23 ] |
|
24 ! |
|
25 |
|
26 consumeWhitespace |
|
27 self shouldBeImplemented |
24 ! |
28 ! |
25 |
29 |
26 currentTokenType |
30 currentTokenType |
27 currentTokenType isNil ifTrue: [ self nextToken ]. |
31 currentTokenType isNil ifTrue: [ self nextToken ]. |
28 ^ currentTokenType |
32 ^ currentTokenType |
47 |
51 |
48 nextToken |
52 nextToken |
49 self shouldBeImplemented |
53 self shouldBeImplemented |
50 ! |
54 ! |
51 |
55 |
52 parseOn: input |
56 parseOn: aPPContext |
|
57 | retval | |
|
58 |
|
59 context := aPPContext. |
|
60 context compiledParser: self. |
|
61 failure := PPFailure new message: nil; context: context; position: -1. |
|
62 context noteFailure: failure. |
|
63 error := false. |
53 currentTokenType := nil. |
64 currentTokenType := nil. |
54 ^ super parseOn: input. |
65 |
|
66 self consumeWhitespace. |
|
67 retval := self perform: startSymbol. |
|
68 self consumeWhitespace. |
|
69 |
|
70 (retval isPetitFailure) ifTrue: [ aPPContext noteFailure: failure ]. |
|
71 error ifTrue: [ aPPContext noteFailure: failure. retval := failure ]. |
|
72 |
|
73 " aPPContext position: context position." |
|
74 ^ retval |
55 ! ! |
75 ! ! |
56 |
76 |