diff -r b5316ef15274 -r f6f68d32de73 compiler/PPCCompilerTokenizingRememberStrategy.st --- a/compiler/PPCCompilerTokenizingRememberStrategy.st Mon Aug 17 12:13:16 2015 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -"{ Package: 'stx:goodies/petitparser/compiler' }" - -"{ NameSpace: Smalltalk }" - -Object subclass:#PPCCompilerTokenizingRememberStrategy - instanceVariableNames:'compiler' - classVariableNames:'' - poolDictionaries:'' - category:'PetitCompiler-Compiler-Codegen-Straregies' -! - - -!PPCCompilerTokenizingRememberStrategy class methodsFor:'instance creation'! - -on: aPPCCompiler - ^ self new - compiler: aPPCCompiler; - yourself -! ! - -!PPCCompilerTokenizingRememberStrategy methodsFor:'accessing'! - -compiler: aPPCCompiler - compiler := aPPCCompiler -! ! - -!PPCCompilerTokenizingRememberStrategy methodsFor:'as yet unclassified'! - -smartRemember: parser to: variableName - compiler allocateTemporaryVariableNamed: '__position'. - compiler allocateTemporaryVariableNamed: '__tokenType'. - compiler allocateTemporaryVariableNamed: '__tokenValue'. - - compiler codeAssign: 'context position.' to: '__position'. - compiler codeAssign: 'currentTokenType.' to: '__tokenType'. - compiler codeAssign: 'currentTokenValue.' to: '__tokenValue'. - -false ifFalse: [ - parser isContextFree ifTrue: [ -" compiler codeAssign: '{ context lwRemember. currentTokenType . currentTokenValue }.' " - compiler codeAssign: 'scanner position.' - to: variableName. - ] ifFalse: [ - compiler codeAssign: '{ context remember. currentTokenType . currentTokenValue }.' - to: variableName. - ] -] -! - -smartRestore: parser from: mementoName - compiler add: 'context lwRestore: __position.'. - compiler codeAssign: '__tokenType.' to: 'currentTokenType'. - compiler codeAssign: '__tokenValue.' to: 'currentTokenValue'. - - -false ifTrue: [ - parser isContextFree ifTrue: [ -" compiler add: 'context lwRestore: (', mementoName, ' at: 1).'." - compiler add: 'context lwRestore: ', mementoName, '.'. - ] ifFalse: [ - compiler add: 'context restore: (', mementoName, ' at: 1).'. - ]. - - compiler codeAssign: 'nil.' to: 'currentTokenType'. -" - compiler codeAssign: '(', mementoName, ' at: 2).' to: 'currentTokenType'. - compiler codeAssign: '(', mementoName, ' at: 3).' to: 'currentTokenValue'. -" -" - compiler code: 'scanner backtrack.'. -" - -] -! ! - -!PPCCompilerTokenizingRememberStrategy class methodsFor:'documentation'! - -version_HG - - ^ '$Changeset: $' -! ! -