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.11 date: 2021/01/20 16:04:04
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.

copyright

COPYRIGHT (c) 2004 by eXept Software AG 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.

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 must be redefined in concrete classes (subclassResponsibility) **

o  doParameter: aNode variable: var type: type

** This method must be redefined in concrete classes (subclassResponsibility) **

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
cg: is it required to return the nodeList, or just sloppy programming?

o  doType: aType



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Tue, 03 Dec 2024 17:24:39 GMT