Class and Description |
---|
ASTAssignment
Decaf assignment statement.
|
ASTBinaryExpr
Decaf binary operation with an operation tag and two child sub-expressions.
|
ASTBinaryExpr.BinOp
List of permitted binary operations.
|
ASTBlock
Lexical scope in a Decaf program; e.g., a function body or a while-loop
body.
|
ASTBreak
Decaf "break" statement (should be inside a loop structure).
|
ASTConditional
Decaf control structure; a block of code that is only executed if the
condition is true when the code is encountered during execution. |
ASTContinue
Decaf "continue" statement (should be inside a loop structure).
|
ASTExpression
Any Decaf expression that can be evaluated to a value at runtime.
|
ASTFunction
Decaf function declaration.
|
ASTFunction.Parameter
Decaf formal parameter (name and data type).
|
ASTFunctionCall
Decaf function call that is intended to return a value at runtime.
|
ASTLiteral
Decaf literal value.
|
ASTLocation
Decaf location.
|
ASTNode
Abstract base class for abstract syntax tree (AST) nodes.
|
ASTNode.DataType
List of Decaf AST data types.
|
ASTProgram
Decaf program.
|
ASTReturn
Decaf "return" statement (should be inside of a function).
|
ASTStatement
Any Decaf statement that can be executed at runtime.
|
ASTUnaryExpr
Unary operation with an operation tag and a child sub-expression.
|
ASTUnaryExpr.UnaryOp
List of permitted unary operations.
|
ASTVariable
Decaf variable declaration.
|
ASTVisitor
Definition of a Visitor interface for AST trees.
|
ASTVoidFunctionCall
Decaf function call that is NOT intended to return a value.
|
ASTWhileLoop
Decaf loop structure; contains a "guard" expression and a loop body block.
|
DecafAnalysis
Static analysis; perform type checking.
|
DecafLexer
"Stub" Decaf lexer.
|
DecafParser
"Stub" Decaf parser.
|
DefaultASTVisitor
Basic "stub" implementation of the
ASTVisitor interface. |
ILOCBasicBlock |
ILOCFunction
Decaf function in ILOC intermediate representation (IR).
|
ILOCGenerator
AST post-visitor; converts a Decaf program in AST IR to ILOC IR by walking
the tree and recursively emitting sequential IR.
|
ILOCInstruction
Represents a single ILOC instruction in a pseudo-triple format, including a
"form" indicator (enum) and up to three operands, which can
represent virtual register IDs, special registers, constants, or jump/call
targets.
|
ILOCInstruction.Form
Possible forms of an ILOC instruction
|
ILOCOperand
Single ILOC instruction operand: a register (named or virtual), a jump/call
label, an integer constant, or a string constant.
|
ILOCOperand.Type |
ILOCProcessor
All ILOC processing passes (static analysis, optimization, machine code
generation, etc.) should implement this (admittedly simple) standardized
interface.
|
ILOCProgram
Decaf program in ILOC intermediate representation (IR).
|
InvalidInstructionException
Error encountered during execution.
|
InvalidProgramException
Error encountered during static/semantic analysis.
|
InvalidSyntaxException
Error encountered during parsing.
|
InvalidTokenException
Error encountered during lexing.
|
LocalRegisterAllocator
Performs register allocation for an ILOC program.
|
SourceInfo
Stores information about a location in a program's source code.
|
StaticAnalysis
Provides a mechanism for aggregating
InvalidProgramException errors
from any AST static analysis pass. |
Symbol
Single Decaf symbol.
|
Symbol.MemLoc
Memory access locations.
|
SymbolTable
Stores name-to-symbol-info mappings for a single lexical scope.
|
Token
Data structure that represents a single token of a Decaf program.
|
Token.Type
Token type.
|
Copyright © 2019. All rights reserved.