A B C D E F I L M N P S T V

A

ascend() - Method in class SymbolTable
Move up one parent level from this symtab, returning a reference to the new level.

B

BlockEntry - class BlockEntry.
BlockEntry extends SymbolTableEntry by adding a data field to support nested scoping.
BlockEntry() - Constructor for class BlockEntry
Construct this with null data fields.
BlockEntry(SymbolTable) - Constructor for class BlockEntry
Construct this with the given data field value.
body - Variable in class FunctionEntry
Function body, in the form of its raw parse tree.

C

child - Variable in class TreeNode1
Reference to the single child of this node.
child1 - Variable in class TreeNode2
Reference to the left child of this node.
child1 - Variable in class TreeNode3
Reference to the left child of this node.
child1 - Variable in class TreeNode4
Reference to the left child of this node.
child2 - Variable in class TreeNode2
Reference to the right child of this node.
child2 - Variable in class TreeNode3
Reference to the middle child of this node.
child2 - Variable in class TreeNode4
Reference to the first middle (or second, or third-from-the-last) child of this node.
child3 - Variable in class TreeNode3
Reference to the right child of this node.
child3 - Variable in class TreeNode4
Reference to the second middle (or third, or next-to-the-last) child of this node.
child4 - Variable in class TreeNode4
Reference to the right (or fourth, or last, or rightmost, or whatever-the-heck-you-want-to-call-it) child of this node.

D

descend(String) - Method in class SymbolTable
Move down one level in this symtab, returning a reference to the new level.
doToString(int, String) - Method in class SymbolTableEntry
Common work doer for other toStrings.
dump(SymbolTable) - Method in class SymbolTable
Dump out the contents of the given symbtab, dumping entries serially, and recursively traversing into scoping levels.

E

enter(SymbolTableEntry) - Method in class SymbolTable
Enter the given symtab entry into this symtab, if an entry of that name does not already exist.
entries - Variable in class SymbolTable
The hash table of entries

F

FunctionEntry - class FunctionEntry.
FunctionEntry extends SymbolTableEntry by adding data fields to support functions, procedures, and methods.
FunctionEntry() - Constructor for class FunctionEntry
Construct this with null data fields.
FunctionEntry(String, TreeNode, TreeNodeList, TreeNode, SymbolTable) - Constructor for class FunctionEntry
Construct this with the given data field values.
formals - Variable in class FunctionEntry
Formal parameter list, in declared order.
formalsString(int) - Method in class FunctionEntry
Called by toString to stringify the list of formal parameter names.

I

id - Variable in class TreeNode
The ID of this node.
indentString(int) - Method in class SymbolTableEntry
Convenience method for creating an indent string.
isRef - Variable in class VariableEntry
True if this is a reference variable or parameter.

L

LeafNode - class LeafNode.
LeafNode extends TreeNode by adding an Object value field, but no subtree references.
LeafNode(int, Object) - Constructor for class LeafNode
Construct with the given id and value.
level - Variable in class SymbolTable
Nesting level of this, starting with 0 at the top.
lookup(String) - Method in class SymbolTable
Lookup an entry by name in this symtab.
lookupLocal(String) - Method in class SymbolTable
Lookup an entry by name in this symtab only.

M

map - Static variable in class symNames
Int-to-string token mapping array
memoryLocation - Variable in class VariableEntry
Memory location

N

name - Variable in class SymbolTableEntry
This symbol's name
newLevel(FunctionEntry, int) - Method in class SymbolTable
Allocate a new symtab and add it as a new level to this symtab.
node - Variable in class TreeNodeList
Reference to the first node of this (sub)list.

P

parent - Variable in class SymbolTable
The parent table in the tree structure, i.e., the symtab of this' enclosing scope.

S

SymbolTable - class SymbolTable.
SymbolTable is a datatype for a tree structured table, where each node in the tree represents a program scope.
SymbolTable(int) - Constructor for class SymbolTable
Allocate a new symtab of the given size.
SymbolTableEntry - class SymbolTableEntry.
A SymbolTableEntry holds semantic information for a symbol declared in a program.
SymbolTableEntry() - Constructor for class SymbolTableEntry
Construct this with null data fields.
SymbolTableEntry(String, TreeNode) - Constructor for class SymbolTableEntry
Construct this with the given data field values.
scope - Variable in class BlockEntry
Local scope for this function.
scope - Variable in class FunctionEntry
Local scope for this function.
scopeString(int) - Method in class BlockEntry
Called by toString to recursively stringify the scope, if non-null.
scopeString(int) - Method in class FunctionEntry
Called by toString to recursively stringify the scope, if non-null.
siblings - Variable in class TreeNodeList
Reference to the rest of this (sub)list
symNames - class symNames.
This class contains a public array that maps an int token id into its string representation.
symNames() - Constructor for class symNames
 
symPrint(int) - Static method in class TreeNode
Print a readable string value for a numeric-valued tree ID.

T

TreeNode - class TreeNode.
TreeNode is the abstract parent class for a parse tree node.
TreeNode() - Constructor for class TreeNode
Construct a tree node with id = 0.
TreeNode(int) - Constructor for class TreeNode
Construct a tree node with the given id.
TreeNode1 - class TreeNode1.
TreeNode1 extends TreeNode by adding one child component, which is a reference to another TreeNode.
TreeNode1(int, TreeNode) - Constructor for class TreeNode1
Construct this with the given id and child TreeNode reference.
TreeNode2 - class TreeNode2.
TreeNode2 extends TreeNode by adding two child components, which are references other TreeNodes.
TreeNode2(int, TreeNode, TreeNode) - Constructor for class TreeNode2
Construct this with the given id and child TreeNode references.
TreeNode3 - class TreeNode3.
TreeNode3 extends TreeNode by adding three child components, which are references other TreeNodes.
TreeNode3(int, TreeNode, TreeNode, TreeNode) - Constructor for class TreeNode3
Construct this with the given id and child TreeNode references.
TreeNode4 - class TreeNode4.
TreeNode4 extends TreeNode by adding four child components, which are references other TreeNodes.
TreeNode4(int, TreeNode, TreeNode, TreeNode, TreeNode) - Constructor for class TreeNode4
Construct this with the given id and child TreeNode references.
TreeNodeList - class TreeNodeList.
TreeNodeList extends TreeNode by adding a node component and a siblings component.
TreeNodeList(TreeNode, TreeNodeList) - Constructor for class TreeNodeList
Construct this with the given id and child TreeNode references.
toString(int) - Method in class BlockEntry
Return the string rep of this.
toString(int) - Method in class FunctionEntry
Return the string rep of this.
toString(int) - Method in class LeafNode
Return the string representation of this leaf, which starts with the String value of its ID.
toString() - Method in class SymbolTable
Produce the string value printed by dump.
toString(int) - Method in class SymbolTable
Work doer for toString.
toString() - Method in class SymbolTableEntry
Return toString(0).
toString(int) - Method in class SymbolTableEntry
Return the string representation of this' two fields, with other fields added by this' extensions.
toString() - Method in class TreeNode
Output the String representation of a pre-order tree traversal.
toString(int) - Method in class TreeNode
This is the recursive work-doer for toString.
toString(int) - Method in class TreeNode1
Return the String representation of this subtree, which is the String value of its ID, followed on the next indented line by the recursive toString of its child.
toString(int) - Method in class TreeNode2
Return the String representation of this subtree, which is the String value of its ID, followed on the next two indented lines by the recursive toString of its two children.
toString(int) - Method in class TreeNode3
Return the String representation of this subtree, which is the String value of its ID, followed on the next three indented lines by the recursive toString of its three children.
toString(int) - Method in class TreeNode4
Return the String representation of this subtree, which is the String value of its ID, followed on the next three indented lines by the recursive toString of its three children.
toString(int) - Method in class TreeNodeList
Return the String representation of this subtree, which is the recursive toString of each of its nodes, separated by a ';' on a new line plus another blank line.
toString(int) - Method in class VariableEntry
Return the string rep of this, which consists of the return value of super.toString, plus the values of this.isRef and this.memoryLocation.
toStringDeep() - Method in class SymbolTableEntry
Return toStringDeep(0).
toStringDeep(int) - Method in class SymbolTableEntry
Version of toString that dumps out the full type structure, not just its root ID.
type - Variable in class SymbolTableEntry
Data type, represented as a parse tree.

V

VariableEntry - class VariableEntry.
VariableEntry extends SymbolTableEntry by adding data fields to support variables and parameters.
VariableEntry() - Constructor for class VariableEntry
Construct this with null data fields.
VariableEntry(String, TreeNode, boolean, int) - Constructor for class VariableEntry
Construct this with the given data field values.
value - Variable in class LeafNode
The generic value of this node, used for identifier names and literal values.

A B C D E F I L M N P S T V