compiler/PPCUniversalCodeGen.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 18 Jan 2016 08:05:03 +0000
changeset 555 4aa0496e6c22
parent 524 f6f68d32de73
permissions -rw-r--r--
For tests on Pharo 5.0, use Spur VM

"{ Package: 'stx:goodies/petitparser/compiler' }"

"{ NameSpace: Smalltalk }"

PPCCodeGen subclass:#PPCUniversalCodeGen
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'PetitCompiler-Compiler-Codegen'
!

!PPCUniversalCodeGen methodsFor:'code generation'!

remember: parser to: variableName 
    parser isContextFree ifTrue: [ 
        self 	codeAssign: 'context lwRemember.' 
                to: variableName.
    ] ifFalse: [ 
        self  codeAssign: 'context remember.'
                to: variableName.
    ]
!

restore: parser from: mementoName
    parser isContextFree ifTrue: [ 
        self code: 'context lwRestore: ', mementoName, '.'.
    ] ifFalse: [ 
        self code: 'context restore: ', mementoName, '.'.
    ]
! !