ProgramNodeBuilder.st
author Claus Gittinger <cg@exept.de>
Sat, 11 Nov 1995 16:31:47 +0100
changeset 135 aa4f7b8f121e
parent 103 f4a69d7dd387
child 1785 1994a5b86791
permissions -rw-r--r--
uff - version methods changed to return stings

"
 COPYRIGHT (c) 1995 by Claus Gittinger
	      All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"

Object subclass:#ProgramNodeBuilder 
       instanceVariableNames:''
       classVariableNames:''
       poolDictionaries:''
       category:'System-Compiler ST-80-compatibility'
!

!ProgramNodeBuilder class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 1995 by Claus Gittinger
	      All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
!

version
    ^ '$Header: /cvs/stx/stx/libcomp/ProgramNodeBuilder.st,v 1.4 1995-11-11 15:31:29 cg Exp $'
!

documentation
"
    This is a pure mimicri class.
    It is not used by ST/X, but provided to support limited
    compatibility for applications which build up codetrees,
    knowing internals of ST-80's compiler class hierarchy.
    This classes protocol is not (not meant to be) fully covering
    the corresponding ST-80's classes protocol. It maps ST-80 messages
    to corresponding ST/X messages (as far as possible).

    NO WARRANTY and GUARANTEE; this class may be removed without notice.
"
! !

!ProgramNodeBuilder methodsFor:'tree building'!

newLiteralValue:aConstantValue
    "return a treeNode for a literal constant"

    ^ ConstantNode value:aConstantValue
!

newReturnValue:anExpressionNode
    "return a treeNode for a method-return"

    ^ ReturnNode expression:anExpressionNode
!

newMethodSelector:sel arguments:argVars temporaries:localVars statements:statementNodes
    "mhmh - in ST/X we have no methodNodes ...."
    ^ MethodNode new
	selector:sel 
	arguments:argVars
	locals:localVars 
	statements:statementNodes.
! !