Modifier and Type | Class and Description |
---|---|
class |
ASTAssignment
Decaf assignment statement.
|
class |
ASTBinaryExpr
Decaf binary operation with an operation tag and two child sub-expressions.
|
class |
ASTBlock
Lexical scope in a Decaf program; e.g., a function body or a while-loop
body.
|
class |
ASTBreak
Decaf "break" statement (should be inside a loop structure).
|
class |
ASTConditional
Decaf control structure; a block of code that is only executed if the
condition is true when the code is encountered during execution. |
class |
ASTContinue
Decaf "continue" statement (should be inside a loop structure).
|
class |
ASTExpression
Any Decaf expression that can be evaluated to a value at runtime.
|
class |
ASTFunction
Decaf function declaration.
|
class |
ASTFunctionCall
Decaf function call that is intended to return a value at runtime.
|
class |
ASTLiteral
Decaf literal value.
|
class |
ASTLocation
Decaf location.
|
class |
ASTProgram
Decaf program.
|
class |
ASTReturn
Decaf "return" statement (should be inside of a function).
|
class |
ASTStatement
Any Decaf statement that can be executed at runtime.
|
class |
ASTUnaryExpr
Unary operation with an operation tag and a child sub-expression.
|
class |
ASTVariable
Decaf variable declaration.
|
class |
ASTVoidFunctionCall
Decaf function call that is NOT intended to return a value.
|
class |
ASTWhileLoop
Decaf loop structure; contains a "guard" expression and a loop body block.
|
Modifier and Type | Method and Description |
---|---|
ASTNode |
ASTNode.getParent()
Retrieve the uptree parent pointer
|
Modifier and Type | Method and Description |
---|---|
void |
ILOCGenerator.addComment(ASTNode node,
String text)
Add a comment to the most recently-emitted ILOC instruction.
|
void |
MyDecafAnalysis.assertType(ASTNode node,
ASTNode.DataType expectedType) |
ILOCOperand |
ILOCGenerator.base(ASTNode dest,
Symbol variable)
Fills a register with the base address of a variable.
|
void |
ILOCGenerator.copyCode(ASTNode dest,
ASTNode src)
Copy the ILOC code from one AST node into another.
|
void |
DefaultASTVisitor.defaultInVisit(ASTNode node) |
void |
ExportTreeDOT.defaultPostVisit(ASTNode node) |
void |
DefaultASTVisitor.defaultPostVisit(ASTNode node) |
void |
PrintDebugSymbolTables.defaultPreVisit(ASTNode node) |
void |
ExportTreeDOT.defaultPreVisit(ASTNode node) |
void |
DefaultASTVisitor.defaultPreVisit(ASTNode node) |
void |
CalculateNodeDepths.defaultPreVisit(ASTNode node) |
void |
ILOCGenerator.emit(ASTNode node,
ILOCInstruction.Form form)
Generate a new ILOC instruction and add it to the code for an AST node.
|
void |
ILOCGenerator.emit(ASTNode node,
ILOCInstruction.Form form,
ILOCOperand op)
Generate a new ILOC instruction and add it to the code for an AST node.
|
void |
ILOCGenerator.emit(ASTNode node,
ILOCInstruction.Form form,
ILOCOperand op1,
ILOCOperand op2)
Generate a new ILOC instruction and add it to the code for an AST node.
|
void |
ILOCGenerator.emit(ASTNode node,
ILOCInstruction.Form form,
ILOCOperand op1,
ILOCOperand op2,
ILOCOperand op3)
Generate a new ILOC instruction and add it to the code for an AST node.
|
void |
ILOCGenerator.emit(ASTNode node,
ILOCInstruction insn)
Generate a new ILOC instruction and add it to the code for an AST node.
|
int |
MyILOCGenerator.emitArgs(ASTNode dest,
List<ASTExpression> arguments) |
List<ILOCInstruction> |
ILOCGenerator.getCode(ASTNode node)
Returns the ILOC code associated with an AST node (via the "code"
attribute).
|
ILOCOperand |
ILOCGenerator.getTempReg(ASTNode node)
Returns the temporary ILOC virtual register associated with the result of
evaluating a node in the AST.
|
void |
PrintDebugSymbolTables.indent(ASTNode node) |
void |
PrintDebugTree.indent(ASTNode node) |
ILOCOperand |
ILOCGenerator.indexedOffset(ASTNode dest,
Symbol variable,
ILOCOperand indexReg)
Calculates the offset of an indexed variable reference and returns the
adjusted offset in an
ILOCOperand . |
static Symbol |
DecafAnalysis.lookupSymbol(ASTNode node,
String name)
Retrieves symbol information for a given symbol name.
|
void |
PrintDebugTree.newline(ASTNode node) |
void |
PrintDebugTree.newline(ASTNode node,
boolean printSource) |
void |
ExportTreeDOT.printLink(ASTNode src,
ASTNode dst) |
void |
ExportTreeDOT.printNodeLabel(ASTNode node,
String label) |
void |
ExportTreeDOT.printNodeLabel(ASTNode node,
String regularLabel,
String shortLabel) |
void |
ASTNode.setParent(ASTNode parent)
Initialize the uptree parent pointer
|
void |
ILOCGenerator.setTempReg(ASTNode node,
ILOCOperand reg)
Sets the temporary ILOC virtual register associated with the result of
evaluating a node in the AST.
|
Copyright © 2019. All rights reserved.