code.symbols
Class DataSymbol

java.lang.Object
  extended by code.symbols.Symbol
      extended by code.symbols.DataSymbol
Direct Known Subclasses:
ConstructorSymbol, OperationSymbol

public abstract class DataSymbol
extends Symbol

Abstracts a symbol that can produce data.

Since:
October 22, 2002
Author:
jimeng

Field Summary
 byte arity
           
 byte associativity
           
 boolean breakOnExec
           
 Instruction[] code
           
static int Constructor
           
static int Failure
           
 byte kind
           
static int Left
           
static int NonAssoc
           
static int NonInfix
          Associativity and Precedence of non-infix symbols
static int Operation
           
 int precedence
          precedence is an int so that one can leave "gaps" in the assigned precedence values and later when a new operation requires to occupy a position between the gaps it can do so readily.
static int Right
           
 int staticNestingDepth
           
static int toplevel
           
 TypeExpression typeExp
           
static int UnboundVariable
           
 
Fields inherited from class code.symbols.Symbol
DefaultVisibility, moduleName, Private, Public, symbolName, visibility
 
Constructor Summary
DataSymbol(java.lang.String moduleName, java.lang.String symbolName, int staticNestingDepth, int arity, int kind, int associativity, int precedence, int visibility, TypeExpression typeExp, Instruction[] code)
          Constructor for the DataSymbol object
 
Method Summary
abstract  java.lang.Object accept(SymbolVisitor v, java.lang.Object o)
          Description of the Method
 
Methods inherited from class code.symbols.Symbol
equals
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

toplevel

public static final int toplevel
See Also:
Constant Field Values

Operation

public static final int Operation
See Also:
Constant Field Values

UnboundVariable

public static final int UnboundVariable
See Also:
Constant Field Values

Failure

public static final int Failure
See Also:
Constant Field Values

Constructor

public static final int Constructor
See Also:
Constant Field Values

Left

public static final int Left
See Also:
Constant Field Values

Right

public static final int Right
See Also:
Constant Field Values

NonAssoc

public static final int NonAssoc
See Also:
Constant Field Values

NonInfix

public static final int NonInfix
Associativity and Precedence of non-infix symbols

See Also:
Constant Field Values

staticNestingDepth

public final int staticNestingDepth

arity

public final byte arity

kind

public final byte kind

associativity

public final byte associativity

precedence

public final int precedence
precedence is an int so that one can leave "gaps" in the assigned precedence values and later when a new operation requires to occupy a position between the gaps it can do so readily. just like Basic :-)


typeExp

public final TypeExpression typeExp

code

public final Instruction[] code

breakOnExec

public boolean breakOnExec
Constructor Detail

DataSymbol

public DataSymbol(java.lang.String moduleName,
                  java.lang.String symbolName,
                  int staticNestingDepth,
                  int arity,
                  int kind,
                  int associativity,
                  int precedence,
                  int visibility,
                  TypeExpression typeExp,
                  Instruction[] code)
Constructor for the DataSymbol object

Parameters:
moduleName - Symbol's ModuleName.
symbolName - Symbol's Name.
visibility - Symbol's Visibility.
typeExp - Symbol's type expression.
precedence - Symbol's precedence.
associativity - Symbol's associativity.
staticNestingDepth - Symbol's static nesting depth.
arity - Symbol's arity.
kind - Symbol's kind.
code - Symbol's code.
Method Detail

accept

public abstract java.lang.Object accept(SymbolVisitor v,
                                        java.lang.Object o)
Description copied from class: Symbol
Description of the Method

Specified by:
accept in class Symbol
Parameters:
v - Description of the Parameter
o - Description of the Parameter
Returns:
Description of the Return Value