compiler/PPCTokenizingCodeGen.st
changeset 515 b5316ef15274
child 518 a6d8b93441b0
child 524 f6f68d32de73
equal deleted inserted replaced
502:1e45d3c96ec5 515:b5316ef15274
       
     1 "{ Package: 'stx:goodies/petitparser/compiler' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
       
     4 
       
     5 PPCCodeGen subclass:#PPCTokenizingCodeGen
       
     6 	instanceVariableNames:'rememberStrategy errorStrategy'
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'PetitCompiler-Compiler-Codegen'
       
    10 !
       
    11 
       
    12 !PPCTokenizingCodeGen methodsFor:'code generation'!
       
    13 
       
    14 codeClearError
       
    15     errorStrategy codeClearError
       
    16 !
       
    17 
       
    18 codeError
       
    19     errorStrategy codeError
       
    20 !
       
    21 
       
    22 codeError: message
       
    23     errorStrategy codeError: message.
       
    24 !
       
    25 
       
    26 smartRemember: parser to: variableName 
       
    27     rememberStrategy smartRemember: parser to: variableName
       
    28 !
       
    29 
       
    30 smartRestore: parser from: mementoName
       
    31     rememberStrategy smartRestore: parser from: mementoName
       
    32 ! !
       
    33 
       
    34 !PPCTokenizingCodeGen methodsFor:'hooks'!
       
    35 
       
    36 errorStrategy
       
    37     ^ errorStrategy ifNil: [ PPCCompilerTokenizingErrorStrategy on: self  ]
       
    38 !
       
    39 
       
    40 errorStrategy: whatever
       
    41     errorStrategy := whatever 
       
    42 !
       
    43 
       
    44 rememberStrategy
       
    45     ^ rememberStrategy ifNil: [ PPCCompilerTokenizingRememberStrategy on: self  ]
       
    46 !
       
    47 
       
    48 rememberStrategy: whatever
       
    49     rememberStrategy := whatever 
       
    50 ! !
       
    51 
       
    52 !PPCTokenizingCodeGen methodsFor:'initialization'!
       
    53 
       
    54 initialize
       
    55     super initialize.
       
    56     rememberStrategy := PPCCompilerTokenizingRememberStrategy on: self.
       
    57     errorStrategy := PPCCompilerTokenizingErrorStrategy on: self.
       
    58 ! !
       
    59