Modifier and Type | Class and Description |
---|---|
class |
AllocateSymbols |
(package private) class |
BuildParentLinks
AST pre-order visitor; initializes parent links for use in later AST
analyses.
|
class |
BuildSymbolTables
Static analysis pass to construct symbol tables.
|
(package private) class |
CalculateNodeDepths
AST pre-order visitor; calculates "depth" at each node in the AST.
|
class |
DecafAnalysis
Static analysis; perform type checking.
|
class |
DefaultASTVisitor
Basic "stub" implementation of the
ASTVisitor interface. |
(package private) class |
ExportTreeDOT
Build a digraph DOT representation of a Decaf AST, which can converted to an
image (e.g., PNG or JPEG) using the "dot" utility included with GraphViz.
|
class |
ILOCGenerator
AST post-visitor; converts a Decaf program in AST IR to ILOC IR by walking
the tree and recursively emitting sequential IR.
|
class |
MyDecafAnalysis
Perform type checking using the Decaf type rules.
|
class |
MyILOCGenerator
Concrete ILOC generator class.
|
(package private) class |
PrintDebugSymbolTables
AST pre-order visitor; prints each node with a symbol table to standard
output.
|
(package private) class |
PrintDebugTree
AST pre-order visitor; prints each node to standard output.
|
class |
StaticAnalysis
Provides a mechanism for aggregating
InvalidProgramException errors
from any AST static analysis pass. |
Modifier and Type | Method and Description |
---|---|
void |
ASTWhileLoop.traverse(ASTVisitor visitor) |
void |
ASTBinaryExpr.traverse(ASTVisitor visitor) |
void |
ASTUnaryExpr.traverse(ASTVisitor visitor) |
void |
ASTBreak.traverse(ASTVisitor visitor) |
void |
ASTContinue.traverse(ASTVisitor visitor) |
void |
ASTAssignment.traverse(ASTVisitor visitor) |
void |
ASTBlock.traverse(ASTVisitor visitor) |
void |
ASTProgram.traverse(ASTVisitor visitor) |
void |
ASTVoidFunctionCall.traverse(ASTVisitor visitor) |
void |
ASTFunction.traverse(ASTVisitor visitor) |
void |
ASTLiteral.traverse(ASTVisitor visitor) |
void |
ASTReturn.traverse(ASTVisitor visitor) |
void |
ASTFunctionCall.traverse(ASTVisitor visitor) |
void |
ASTNode.traverse(ASTVisitor visitor)
Generic traversal method for the visitor pattern.
|
void |
ASTVariable.traverse(ASTVisitor visitor) |
void |
ASTConditional.traverse(ASTVisitor visitor) |
void |
ASTLocation.traverse(ASTVisitor visitor) |
Copyright © 2019. All rights reserved.