--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/compiler/PPCTokenizingCodeGen.st Mon Aug 17 12:13:16 2015 +0100
@@ -0,0 +1,59 @@
+"{ Package: 'stx:goodies/petitparser/compiler' }"
+
+"{ NameSpace: Smalltalk }"
+
+PPCCodeGen subclass:#PPCTokenizingCodeGen
+ instanceVariableNames:'rememberStrategy errorStrategy'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'PetitCompiler-Compiler-Codegen'
+!
+
+!PPCTokenizingCodeGen methodsFor:'code generation'!
+
+codeClearError
+ errorStrategy codeClearError
+!
+
+codeError
+ errorStrategy codeError
+!
+
+codeError: message
+ errorStrategy codeError: message.
+!
+
+smartRemember: parser to: variableName
+ rememberStrategy smartRemember: parser to: variableName
+!
+
+smartRestore: parser from: mementoName
+ rememberStrategy smartRestore: parser from: mementoName
+! !
+
+!PPCTokenizingCodeGen methodsFor:'hooks'!
+
+errorStrategy
+ ^ errorStrategy ifNil: [ PPCCompilerTokenizingErrorStrategy on: self ]
+!
+
+errorStrategy: whatever
+ errorStrategy := whatever
+!
+
+rememberStrategy
+ ^ rememberStrategy ifNil: [ PPCCompilerTokenizingRememberStrategy on: self ]
+!
+
+rememberStrategy: whatever
+ rememberStrategy := whatever
+! !
+
+!PPCTokenizingCodeGen methodsFor:'initialization'!
+
+initialize
+ super initialize.
+ rememberStrategy := PPCCompilerTokenizingRememberStrategy on: self.
+ errorStrategy := PPCCompilerTokenizingErrorStrategy on: self.
+! !
+