compiler/PPTokenizingCompiledParser.st
changeset 502 1e45d3c96ec5
parent 464 f6d77fee9811
child 515 b5316ef15274
equal deleted inserted replaced
464:f6d77fee9811 502:1e45d3c96ec5
     1 "{ Package: 'stx:goodies/petitparser/compiler' }"
     1 "{ Package: 'stx:goodies/petitparser/compiler' }"
     2 
     2 
     3 "{ NameSpace: Smalltalk }"
     3 "{ NameSpace: Smalltalk }"
     4 
     4 
     5 PPCompiledParser subclass:#PPTokenizingCompiledParser
     5 PPCompiledParser subclass:#PPTokenizingCompiledParser
     6 	instanceVariableNames:'currentTokenValue currentTokenType'
     6 	instanceVariableNames:'currentTokenValue currentTokenType scanner'
     7 	classVariableNames:''
     7 	classVariableNames:''
     8 	poolDictionaries:''
     8 	poolDictionaries:''
     9 	category:'PetitCompiler-Parsers'
     9 	category:'PetitCompiler-Parsers'
    10 !
    10 !
    11 
    11 
    12 !PPTokenizingCompiledParser methodsFor:'tokenizing'!
    12 !PPTokenizingCompiledParser methodsFor:'tokenizing'!
    13 
    13 
    14 consume: tokenType
    14 consume: tokenType
       
    15     self halt: 'deprecated'.
    15     (self perform: tokenType) ifTrue: [ 
    16     (self perform: tokenType) ifTrue: [ 
    16         currentTokenType := nil.
    17         currentTokenType := nil.
    17         ^ currentTokenValue.
    18         ^ currentTokenValue.
    18     ].	
    19     ].	
    19     "self error: 'expected: ', tokenType storeString, ' got ', currentTokenType storeString."
    20     "self error: 'expected: ', tokenType storeString, ' got ', currentTokenType storeString."
    54     context compiledParser: self.
    55     context compiledParser: self.
    55     failure := PPFailure new message: nil; context: context; position: -1.
    56     failure := PPFailure new message: nil; context: context; position: -1.
    56     context noteFailure: failure.
    57     context noteFailure: failure.
    57     error := false.
    58     error := false.
    58     currentTokenType := nil.
    59     currentTokenType := nil.
       
    60     scanner := PPCScanner new.
    59 
    61 
    60     self consumeWhitespace.
    62     self consumeWhitespace.
    61     retval := self perform: startSymbol.
    63     retval := self perform: startSymbol.
    62 "	self consumeWhitespace."
    64 "	self consumeWhitespace."
    63 
    65