CS 536 Fall 2007, Project 5

Package <Unnamed>

Class Summary
AssignStmtNode An AST node representing an assignment statement "var := expr;" or "var(subscript) := expr;".
ASTNode A node in an Abstract Syntax Tree for ada536.
BlockNode An AST node representing a block (procedure or function body): "decls BEGIN stmts END".
CallStmtNode An AST node representing a procedure call statement: "procName(args);" or "procName;".
CG Static methods for generating code to a file.
DeclNode An AST node representing a declaration of a function, procedure, or variable.
DeclNodeList Wrapper for a list of Decl.
Err Functions for printing error messages.
ExitStmtNode An AST node representing an exit statement: "exit;".
ExprNode An AST node representing an expression.
ExprNodeList Wrapper for a list of ExprNode.
ForStmtNode An AST node representing a for statement: "FOR variable IN low DOTDOT high LOOP stmts END LOOP;".
IdNode An AST node representing an identifier.
IfStmtNode An AST node representing an "if" statement: "IF cond THEN stmts [ELSIF stmts]* [ELSE stmts]?
IfStmtNode.IfThen A condition and corresponding sequence of statements corresponding to an if/then or elsif/then clause of an if statement.
IfThenList Wrapper for a list of IfStmtNode.IfThen.
LiteralNode An AST node representing an integer, string, or Boolean literal (constant).
NullStmtNode An AST node representing a null statement: "null;".
OpExprNode An AST node representing an operator applied to one or two operands, as in "exp1 + exp2" or "NOT exp".
P5 A test program for excercising the scanner of Project 4, CS 536, Fall 2004.
ParamList Wrapper for a list of ProcDeclNode.Param.
Parser  
ProcDeclNode An AST node representing a function or procedure declaration: "FUNCTION name(parameters) RETURN type IS decls BEGIN stmts END;" or "PROCEDURE name(parameters) IS decls BEGIN stmts END;".
ProcDeclNode.Param A formal parameter.
ReadStmtNode An AST node representing a read statement: "READ(expr);".
ReturnStmtNode An AST node representing a return statement: "return;" or "return expr;".
Scanner This class is a scanner generated by JFlex 1.4.1 on 11/19/07 6:56 AM from the specification file ada536.jflex
SimpleExprNode An AST node representing a simple expression with syntax "id" or "id(expr,...
StmtNode An AST node representing a statement of some sort.
StmtNodeList Wrapper for a list of StmtNode.
Symbol Information about a symbol (an identifier).
SymbolTable A block-structured symbol table.
Token Tokens returned by the scanner.
Type A object representing a type in the Ada536 langauge.
VarDeclNode An AST node representing a variable declaration: "id : type;" or "id : ARRAY (INT DOTDOT INT) OF type;".
WhileStmtNode An AST node representing a while statement: "[WHILE cond]?
WriteStmtNode An AST node representing a write statement: "WRITE(expr);".
 

Enum Summary
ASTNode.Opcode Operator codes.
ProcDeclNode.Mode A parameter mode: IN, OUT, INOUT, or NONE (equivalent to IN).
TokenCode  
Type.BaseType Basic types: int, bool, void, string, or error.
Type.Kind One of SCALAR, PROCEDURE, or ARRAY.
 

Exception Summary
DuplicateSymbolException An Exception that indicates that an attempt was made to insert a duplicate definition into a SymbolTable.
EmptySymbolTableException An Exception that indicates that an illegal operation was performed on an empty SymbolTable (one with no blocks).
 


CS 536 Fall 2007, Project 5