| 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.