eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'ProgramNodeEnumerator':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: ProgramNodeEnumerator


Inheritance:

   Object
   |
   +--ProgramNodeEnumerator

Package:
stx:libcomp
Category:
System-Compiler
Version:
rev: 1.9 date: 2016/05/04 19:12:49
user: cg
file: ProgramNodeEnumerator.st directory: libcomp
module: stx stc-classLibrary: libcomp

Description:


This is a pure mimicri class.
It is not used by ST/X, but provided to support limited
compatibility for applications which walk 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).

This class was added to allow for the PD goody CodeReview to be filed
into ST/X.

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


Class protocol:

instance creation
o  new
(comment from inherited method)
return an instance of myself without indexed variables


Instance protocol:

enumeration callbacks
o  doAssignment: aNode variable: var value: val

o  doBlock: aNode arguments: args body: seq

o  doCascade: aNode receiver: rcvr messages: msgs

o  doLiteral: aNode value: lit

o  doMessage: aNode receiver: rcvr selector: sel arguments: args

o  doMethod: aNode selector: sel primitive: prim block: block

** This method raises an error - it must be redefined in concrete classes **

o  doParameter: aNode variable: var type: type

** This method raises an error - it must be redefined in concrete classes **

o  doPrimitive: aNode code: code primitiveIndex: primNumber

o  doReturn: aNode value: value

o  doSequence: aNode temporaries: temps statements: stats

o  doVariable: aNode name: nameString

private
o  collectNodes: nodeList

o  doNode: aNode

o  doNodeList: firstNode

o  doNodes: nodeList

o  doType: aType



ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Sat, 20 Apr 2024 13:03:02 GMT