compiler/PPCTokenizingCodeGen.st
changeset 525 751532c8f3db
parent 518 a6d8b93441b0
parent 524 f6f68d32de73
equal deleted inserted replaced
523:09afcf28ed60 525:751532c8f3db
    10 !
    10 !
    11 
    11 
    12 
    12 
    13 !PPCTokenizingCodeGen methodsFor:'code generation'!
    13 !PPCTokenizingCodeGen methodsFor:'code generation'!
    14 
    14 
    15 codeClearError
    15 codeScannerRememberTo: variableName 
    16     errorStrategy codeClearError
    16     self codeAssign: 'scanner remember' to: variableName.
       
    17     self codeDot.
    17 !
    18 !
    18 
    19 
    19 codeError
    20 codeScannerRestoreFrom: variableName 
    20     errorStrategy codeError
    21     self code: 'scanner restore: ', variableName.
       
    22     self codeDot.
       
    23                     
    21 !
    24 !
    22 
    25 
    23 codeError: message
    26 remember: node to: variableName 
    24     errorStrategy codeError: message.
    27     ^ self codeScannerRememberTo: variableName
    25 !
    28 !
    26 
    29 
    27 smartRemember: parser to: variableName 
    30 restore: node from: mementoName
    28     rememberStrategy smartRemember: parser to: variableName
    31     ^ self codeScannerRestoreFrom: mementoName
    29 !
       
    30 
       
    31 smartRestore: parser from: mementoName
       
    32     rememberStrategy smartRestore: parser from: mementoName
       
    33 ! !
       
    34 
       
    35 !PPCTokenizingCodeGen methodsFor:'hooks'!
       
    36 
       
    37 errorStrategy
       
    38     ^ errorStrategy ifNil: [ PPCCompilerTokenizingErrorStrategy on: self  ]
       
    39 !
       
    40 
       
    41 errorStrategy: whatever
       
    42     errorStrategy := whatever 
       
    43 !
       
    44 
       
    45 rememberStrategy
       
    46     ^ rememberStrategy ifNil: [ PPCCompilerTokenizingRememberStrategy on: self  ]
       
    47 !
       
    48 
       
    49 rememberStrategy: whatever
       
    50     rememberStrategy := whatever 
       
    51 ! !
    32 ! !
    52 
    33 
    53 !PPCTokenizingCodeGen methodsFor:'initialization'!
    34 !PPCTokenizingCodeGen methodsFor:'initialization'!
    54 
    35 
    55 initialize
    36 initialize
    56     super initialize.
    37     super initialize.
    57     rememberStrategy := PPCCompilerTokenizingRememberStrategy on: self.
       
    58     errorStrategy := PPCCompilerTokenizingErrorStrategy on: self.
       
    59 ! !
    38 ! !
    60 
    39 
    61 !PPCTokenizingCodeGen class methodsFor:'documentation'!
    40 !PPCTokenizingCodeGen class methodsFor:'documentation'!
    62 
    41 
    63 version_HG
    42 version_HG