coins.backend
Class ModuleElement

java.lang.Object
  extended bycoins.backend.ModuleElement
Direct Known Subclasses:
Data, Function

public abstract class ModuleElement
extends java.lang.Object

Common attributes of Function/Data, components of Module.


Field Summary
 Module module
          Module this element belongs to
 Root root
          Collection of global variables.
 int sourceLineNo
          Source line position.
 SymStatic symbol
          Symbol table entry of this element.
 
Constructor Summary
(package private) ModuleElement(Module module, java.lang.String name)
          Initialize fields.
(package private) ModuleElement(Module module, SymStatic symbol)
          Initialize fields.
 
Method Summary
abstract  void printIt(java.io.PrintWriter out)
          Print for debugging.
abstract  void printIt(java.io.PrintWriter out, LocalAnalyzer[] anals)
          Print for debugging with specified analysis.
abstract  void printStandardForm(java.io.PrintWriter out)
          Print in standard form.
abstract  java.lang.Object toSexp()
          Convert to external LIR format.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

module

public final Module module
Module this element belongs to


root

public final Root root
Collection of global variables.


symbol

public final SymStatic symbol
Symbol table entry of this element.


sourceLineNo

public final int sourceLineNo
Source line position.

Constructor Detail

ModuleElement

ModuleElement(Module module,
              java.lang.String name)
        throws SyntaxError
Initialize fields.


ModuleElement

ModuleElement(Module module,
              SymStatic symbol)
Initialize fields.

Method Detail

toSexp

public abstract java.lang.Object toSexp()
Convert to external LIR format.


printStandardForm

public abstract void printStandardForm(java.io.PrintWriter out)
Print in standard form.


printIt

public abstract void printIt(java.io.PrintWriter out)
Print for debugging.


printIt

public abstract void printIt(java.io.PrintWriter out,
                             LocalAnalyzer[] anals)
Print for debugging with specified analysis.