compiler/PPCSymbolActionNode.st
changeset 438 20598d7ce9fa
parent 422 116d2b2af905
child 452 9f4558b3be66
equal deleted inserted replaced
437:54b3bc9e3987 438:20598d7ce9fa
     8 	poolDictionaries:''
     8 	poolDictionaries:''
     9 	category:'PetitCompiler-Nodes'
     9 	category:'PetitCompiler-Nodes'
    10 !
    10 !
    11 
    11 
    12 
    12 
    13 !PPCSymbolActionNode methodsFor:'as yet unclassified'!
    13 !PPCSymbolActionNode methodsFor:'accessing'!
    14 
    14 
    15 asFast
    15 symbol
    16 	^ PPCTokenActionNode new
    16 	^ self block
    17 		child: child;
       
    18 		name: self name;
       
    19 		yourself
       
    20 !
    17 !
    21 
    18 
    22 compileWith: compiler effect: effect id: id
    19 symbol: aSymbol
    23 	compiler startMethod: id.
    20 	self block: aSymbol
    24 	compiler addVariable: 'element'.	
    21 ! !
    25 	compiler add: 'element := '.
    22 
    26 	compiler callOnLine: (child compileWith: compiler).
    23 !PPCSymbolActionNode methodsFor:'visiting'!
    27 	compiler add: 'error ifFalse: [ ^ element ', block asString, ' ].'.
    24 
    28 	compiler add: '^ failure'.
    25 accept: visitor
    29  ^ compiler stopMethod.
    26 	^ visitor visitSymbolActionNode: self
    30 ! !
    27 ! !
    31 
    28 
    32 !PPCSymbolActionNode class methodsFor:'documentation'!
    29 !PPCSymbolActionNode class methodsFor:'documentation'!
    33 
    30 
    34 version_HG
    31 version_HG