--- a/compiler/PPCTokenizingCompiler.st Tue May 12 01:24:03 2015 +0100
+++ b/compiler/PPCTokenizingCompiler.st Thu May 21 14:12:22 2015 +0100
@@ -3,14 +3,26 @@
"{ NameSpace: Smalltalk }"
PPCCompiler subclass:#PPCTokenizingCompiler
- instanceVariableNames:'rememberStrategy'
+ instanceVariableNames:'rememberStrategy errorStrategy'
classVariableNames:''
poolDictionaries:''
- category:'PetitCompiler-Core'
+ category:'PetitCompiler-Compiler'
!
!PPCTokenizingCompiler methodsFor:'code generation'!
+codeClearError
+ errorStrategy codeClearError
+!
+
+codeError
+ errorStrategy codeError
+!
+
+codeError: message
+ errorStrategy codeError: message.
+!
+
smartRemember: parser to: variableName
rememberStrategy smartRemember: parser to: variableName
!
@@ -25,6 +37,14 @@
^ compiledParserSuperclass ifNil: [ PPTokenizingCompiledParser ]
!
+errorStrategy
+ ^ errorStrategy ifNil: [ PPCCompilerTokenizingErrorStrategy on: self ]
+!
+
+errorStrategy: whatever
+ errorStrategy := whatever
+!
+
rememberStrategy
^ rememberStrategy ifNil: [ PPCCompilerTokenizingRememberStrategy on: self ]
!
@@ -40,21 +60,3 @@
rememberStrategy := PPCCompilerTokenizingRememberStrategy on: self
! !
-!PPCTokenizingCompiler methodsFor:'remember strategy'!
-
-toNormalRememberStrategy
- "
- When backtracking, currentTokenValue and currentTokenType has
- to be restored
- "
- rememberStrategy := PPCCompilerTokenizingRememberStrategy on: self
-!
-
-toTokenRememberStrategy
- "
- We dont have to remember currentTokenType and currentTokenValue,
- while parsing token
- "
- rememberStrategy := PPCCompilerTokenRememberStrategy on: self
-! !
-