compiler/PPTokenizingCompiledParser.st
changeset 459 4751c407bb40
parent 452 9f4558b3be66
child 464 f6d77fee9811
equal deleted inserted replaced
452:9f4558b3be66 459:4751c407bb40
    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