Portability fixes
* do not use Object>>asString. Not all Smalltalks implement it.
* do not use Object>>name. Not all Smalltalks implement it.
* do not use Dictionary keysAndValuesRemove:. Not all Smalltalks implement it.
* do not use Class>>methods The semantics is different among Smalltalks.
Use `Class methodDictionary values` instead.
* do not modify dictionary in #at:ifAbsentPut: block!
"{ Package: 'stx:goodies/petitparser/compiler' }"
"{ NameSpace: Smalltalk }"
Object subclass:#PPCCompilerTokenizingErrorStrategy
instanceVariableNames:'compiler'
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Compiler-Codegen-Straregies'
!
!PPCCompilerTokenizingErrorStrategy class methodsFor:'as yet unclassified'!
on: aPPCCompiler
^ self new
compiler: aPPCCompiler;
yourself
! !
!PPCCompilerTokenizingErrorStrategy methodsFor:'as yet unclassified'!
codeClearError
compiler add: 'error := false.'.
!
codeError
compiler add: 'self error: ''error message not specified'' at: context position.'.
!
codeError: message
compiler add: 'self error: ''', message, ''' at: context position.'.
!
compiler: aPPCCompiler
compiler := aPPCCompiler
! !