- addComment(ASTNode, String) - Method in class edu.jmu.decaf.ILOCGenerator
-
Add a comment to the most recently-emitted ILOC instruction.
- addError(InvalidProgramException) - Static method in class edu.jmu.decaf.StaticAnalysis
-
- addError(String) - Static method in class edu.jmu.decaf.StaticAnalysis
-
Report an error message to be saved for later aggregation.
- addEscapeCodes(String) - Static method in class edu.jmu.decaf.ASTLiteral
-
Remove quotes, newlines, and tabs from string literals
and replace them with their escape codes.
- addIgnoredPattern(String) - Method in class edu.jmu.decaf.DecafLexer
-
Add a regular expression that describes an ignored token.
- addInstruction(ILOCInstruction) - Method in class edu.jmu.decaf.ILOCFunction
-
Append a new instruction to the function.
- addTokenPattern(Token.Type, String) - Method in class edu.jmu.decaf.DecafLexer
-
Add a regular expression that describes a particular type of token.
- allBlocks - Variable in class edu.jmu.decaf.ILOCFunction
-
It is useful to maintain a list of all blocks for liveness analysis
- allocateRegisters(ILOCBasicBlock) - Method in class edu.jmu.decaf.LocalRegisterAllocator
-
Perform local register allocation for a single basic block.
- allocateRegisters(ILOCBasicBlock) - Method in class edu.jmu.decaf.MyLocalRegisterAllocator
-
Perform local register allocation for a single basic block.
- AllocateSymbols - Class in edu.jmu.decaf
-
- AllocateSymbols() - Constructor for class edu.jmu.decaf.AllocateSymbols
-
- arguments - Variable in class edu.jmu.decaf.ASTFunctionCall
-
- arguments - Variable in class edu.jmu.decaf.ASTVoidFunctionCall
-
- arrayLength - Variable in class edu.jmu.decaf.ASTVariable
-
- assertAllRegOperands(ILOCInstruction, int) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- assertIsValid(ILOCInstruction) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- assertNumOperands(ILOCInstruction, int) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- assertOperandIsRegister(ILOCInstruction, ILOCOperand) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- assertOperandType(ILOCInstruction, ILOCOperand, ILOCOperand.Type) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- assertType(ASTNode, ASTNode.DataType) - Method in class edu.jmu.decaf.MyDecafAnalysis
-
- assertValidParameters(List<ASTNode.DataType>, List<ASTExpression>, SourceInfo) - Method in class edu.jmu.decaf.MyDecafAnalysis
-
- ASTAssignment - Class in edu.jmu.decaf
-
Decaf assignment statement.
- ASTAssignment(ASTLocation, ASTExpression) - Constructor for class edu.jmu.decaf.ASTAssignment
-
- ASTBinaryExpr - Class in edu.jmu.decaf
-
Decaf binary operation with an operation tag and two child sub-expressions.
- ASTBinaryExpr(ASTBinaryExpr.BinOp, ASTExpression, ASTExpression) - Constructor for class edu.jmu.decaf.ASTBinaryExpr
-
- ASTBinaryExpr.BinOp - Enum in edu.jmu.decaf
-
List of permitted binary operations.
- ASTBlock - Class in edu.jmu.decaf
-
Lexical scope in a Decaf program; e.g., a function body or a while-loop
body.
- ASTBlock() - Constructor for class edu.jmu.decaf.ASTBlock
-
- ASTBreak - Class in edu.jmu.decaf
-
Decaf "break" statement (should be inside a loop structure).
- ASTBreak() - Constructor for class edu.jmu.decaf.ASTBreak
-
- ASTConditional - Class in edu.jmu.decaf
-
Decaf control structure; a block of code that is only executed if the condition
is true when the code is encountered during execution.
- ASTConditional(ASTExpression, ASTBlock) - Constructor for class edu.jmu.decaf.ASTConditional
-
- ASTConditional(ASTExpression, ASTBlock, ASTBlock) - Constructor for class edu.jmu.decaf.ASTConditional
-
- ASTContinue - Class in edu.jmu.decaf
-
Decaf "continue" statement (should be inside a loop structure).
- ASTContinue() - Constructor for class edu.jmu.decaf.ASTContinue
-
- ASTExpression - Class in edu.jmu.decaf
-
Any Decaf expression that can be evaluated to a value at runtime.
- ASTExpression() - Constructor for class edu.jmu.decaf.ASTExpression
-
- ASTFunction - Class in edu.jmu.decaf
-
Decaf function declaration.
- ASTFunction(String, ASTNode.DataType, ASTBlock) - Constructor for class edu.jmu.decaf.ASTFunction
-
- ASTFunction.Parameter - Class in edu.jmu.decaf
-
Decaf formal parameter (name and data type).
- ASTFunctionCall - Class in edu.jmu.decaf
-
Decaf function call that is intended to return a value at runtime.
- ASTFunctionCall(String) - Constructor for class edu.jmu.decaf.ASTFunctionCall
-
- ASTLiteral - Class in edu.jmu.decaf
-
Decaf literal value.
- ASTLiteral(ASTNode.DataType, Object) - Constructor for class edu.jmu.decaf.ASTLiteral
-
- ASTLocation - Class in edu.jmu.decaf
-
Decaf location.
- ASTLocation(String) - Constructor for class edu.jmu.decaf.ASTLocation
-
- ASTLocation(String, ASTExpression) - Constructor for class edu.jmu.decaf.ASTLocation
-
- ASTNode - Class in edu.jmu.decaf
-
Abstract base class for abstract syntax tree (AST) nodes.
- ASTNode() - Constructor for class edu.jmu.decaf.ASTNode
-
Generic constructor.
- ASTNode.DataType - Enum in edu.jmu.decaf
-
List of Decaf AST data types.
- ASTProgram - Class in edu.jmu.decaf
-
Decaf program.
- ASTProgram() - Constructor for class edu.jmu.decaf.ASTProgram
-
- ASTReturn - Class in edu.jmu.decaf
-
Decaf "return" statement (should be inside of a function).
- ASTReturn() - Constructor for class edu.jmu.decaf.ASTReturn
-
- ASTReturn(ASTExpression) - Constructor for class edu.jmu.decaf.ASTReturn
-
- ASTStatement - Class in edu.jmu.decaf
-
Any Decaf statement that can be executed at runtime.
- ASTStatement() - Constructor for class edu.jmu.decaf.ASTStatement
-
- ASTUnaryExpr - Class in edu.jmu.decaf
-
Unary operation with an operation tag and a child sub-expression.
- ASTUnaryExpr(ASTUnaryExpr.UnaryOp, ASTExpression) - Constructor for class edu.jmu.decaf.ASTUnaryExpr
-
- ASTUnaryExpr.UnaryOp - Enum in edu.jmu.decaf
-
List of permitted unary operations.
- ASTVariable - Class in edu.jmu.decaf
-
Decaf variable declaration.
- ASTVariable(String, ASTNode.DataType) - Constructor for class edu.jmu.decaf.ASTVariable
-
- ASTVariable(String, ASTNode.DataType, int) - Constructor for class edu.jmu.decaf.ASTVariable
-
- ASTVisitor - Interface in edu.jmu.decaf
-
Definition of a Visitor interface for AST trees.
- ASTVoidFunctionCall - Class in edu.jmu.decaf
-
Decaf function call that is NOT intended to return a value.
- ASTVoidFunctionCall(String) - Constructor for class edu.jmu.decaf.ASTVoidFunctionCall
-
- ASTWhileLoop - Class in edu.jmu.decaf
-
Decaf loop structure; contains a "guard" expression and a loop body block.
- ASTWhileLoop(ASTExpression, ASTBlock) - Constructor for class edu.jmu.decaf.ASTWhileLoop
-
- attributes - Variable in class edu.jmu.decaf.ASTNode
-
Generic key/value store.
- edu.jmu.decaf - package edu.jmu.decaf
-
- elementSize - Variable in class edu.jmu.decaf.Symbol
-
Size of individual elements (in bytes)
- elseBlock - Variable in class edu.jmu.decaf.ASTConditional
-
- emit(ASTNode, ILOCInstruction) - Method in class edu.jmu.decaf.ILOCGenerator
-
Generate a new ILOC instruction and add it to the code for an AST node.
- emit(ASTNode, ILOCInstruction.Form) - Method in class edu.jmu.decaf.ILOCGenerator
-
Generate a new ILOC instruction and add it to the code for an AST node.
- emit(ASTNode, ILOCInstruction.Form, ILOCOperand) - Method in class edu.jmu.decaf.ILOCGenerator
-
Generate a new ILOC instruction and add it to the code for an AST node.
- emit(ASTNode, ILOCInstruction.Form, ILOCOperand, ILOCOperand) - Method in class edu.jmu.decaf.ILOCGenerator
-
Generate a new ILOC instruction and add it to the code for an AST node.
- emit(ASTNode, ILOCInstruction.Form, ILOCOperand, ILOCOperand, ILOCOperand) - Method in class edu.jmu.decaf.ILOCGenerator
-
Generate a new ILOC instruction and add it to the code for an AST node.
- emitArgs(ASTNode, List<ASTExpression>) - Method in class edu.jmu.decaf.MyILOCGenerator
-
- emitLoad(ASTLocation) - Method in class edu.jmu.decaf.ILOCGenerator
-
Emits a right-hand-side load for a given location.
- emitSpillLoad(int, int, int, String) - Method in class edu.jmu.decaf.LocalRegisterAllocator
-
Emit a new instruction at the given index.
- emitSpillStore(int, int, String) - Method in class edu.jmu.decaf.LocalRegisterAllocator
-
Emit a new instruction at the given index.
- emitStore(ASTAssignment, ILOCOperand) - Method in class edu.jmu.decaf.ILOCGenerator
-
Emits a store for a given assignment.
- enableFastSysCalls() - Method in class edu.jmu.decaf.GenerateX86
-
- entryBlock - Variable in class edu.jmu.decaf.ILOCFunction
-
Entry block (start of CFG)
- equals(Object) - Method in class edu.jmu.decaf.ILOCFunction.Variable
-
- equals(Object) - Method in class edu.jmu.decaf.ILOCOperand
-
Ensure that two operands are considered "equal" if their string-based
representations are identical.
- ExportControlFlowDOT - Class in edu.jmu.decaf
-
Build a digraph DOT representation of a Decaf CFG, which can converted to an
image (e.g., PNG or JPEG) using the "dot" utility included with GraphViz.
- ExportControlFlowDOT() - Constructor for class edu.jmu.decaf.ExportControlFlowDOT
-
- ExportControlFlowDOT(PrintStream) - Constructor for class edu.jmu.decaf.ExportControlFlowDOT
-
- ExportControlFlowDOT(PrintStream, boolean) - Constructor for class edu.jmu.decaf.ExportControlFlowDOT
-
- ExportTreeDOT - Class in edu.jmu.decaf
-
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.
- ExportTreeDOT() - Constructor for class edu.jmu.decaf.ExportTreeDOT
-
- ExportTreeDOT(PrintStream) - Constructor for class edu.jmu.decaf.ExportTreeDOT
-
- ExportTreeDOT(PrintStream, boolean) - Constructor for class edu.jmu.decaf.ExportTreeDOT
-
- extract(Pattern, StringBuffer) - Method in class edu.jmu.decaf.DecafLexer
-
Test the given regular expression pattern against the beginning of the
string buffer.
- GenerateX86 - Class in edu.jmu.decaf
-
Generates NASM-compatible x86 assembly code from an
ILOCProgram
.
- GenerateX86(PrintStream) - Constructor for class edu.jmu.decaf.GenerateX86
-
- GenerateY86 - Class in edu.jmu.decaf
-
- GenerateY86(PrintStream) - Constructor for class edu.jmu.decaf.GenerateY86
-
- getAllSymbols() - Method in class edu.jmu.decaf.SymbolTable
-
Gets all symbols accessible in this scope, which includes all symbols
defined at this level (from getSymbols()
) plus all symbols defined
in any parent symbol table.
- getASTTypeStr() - Method in class edu.jmu.decaf.ASTNode
-
Returns a string with the AST class type (mainly used for debugging)
- getBool(ILOCOperand) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- getCode(ASTNode) - Method in class edu.jmu.decaf.ILOCGenerator
-
Returns the ILOC code associated with an AST node (via the "code"
attribute).
- getCurrentSourceInfo(Queue<Token>) - Method in class edu.jmu.decaf.DecafParser
-
Retrieve the source info associated with the token at the head of the
queue.
- getCurrentTable() - Method in class edu.jmu.decaf.BuildSymbolTables
-
Return the innermost active symbol table.
- getDepth() - Method in class edu.jmu.decaf.ASTNode
-
Retrieve the tree depth marker
- getEntryBlock() - Method in class edu.jmu.decaf.ILOCFunction
-
Get the entry point to the function's control flow graph.
- getErrors() - Static method in class edu.jmu.decaf.StaticAnalysis
-
Retrieve a list of all errors encountered by any
StaticAnalysis
subclass thus far.
- getErrorString() - Static method in class edu.jmu.decaf.StaticAnalysis
-
Retrieve a message including all errors encountered by any
StaticAnalysis
subclass thus far.
- getFunction(String) - Method in class edu.jmu.decaf.ILOCProgram
-
Search for a function based on name
- getInheritedSymbols() - Method in class edu.jmu.decaf.SymbolTable
-
Gets all symbols accessible in this scope that are not defined in this
scope; i.e., all symbols that are defined in a parent table.
- getInstructions() - Method in class edu.jmu.decaf.ILOCFunction
-
Get the current instruction sequence.
- getInt(ILOCOperand) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- getLastMatch() - Method in class edu.jmu.decaf.DecafLexer
-
- getNextID(String) - Method in class edu.jmu.decaf.ExportTreeDOT
-
- getParameterStr() - Method in class edu.jmu.decaf.ASTFunction
-
- getParent() - Method in class edu.jmu.decaf.ASTNode
-
Retrieve the uptree parent pointer
- getProgram() - Method in class edu.jmu.decaf.ILOCGenerator
-
Returns the generated ILOC program.
- getReadOperands() - Method in class edu.jmu.decaf.ILOCInstruction
-
Returns a list of ILOCOperands read by this instruction.
- getReadOperands(boolean) - Method in class edu.jmu.decaf.ILOCInstruction
-
Returns a list of ILOCOperands read by this instruction.
- getReturnValue() - Method in class edu.jmu.decaf.ILOCInterpreter
-
- getSourceInfo() - Method in class edu.jmu.decaf.ASTNode
-
Retrieve the source code information
- getSymbols() - Method in class edu.jmu.decaf.SymbolTable
-
Gets all symbols defined defined in this scope, in the order in which they were
added.
- getTempReg(ASTNode) - Method in class edu.jmu.decaf.ILOCGenerator
-
Returns the temporary ILOC virtual register associated with the result of
evaluating a node in the AST.
- getType() - Method in class edu.jmu.decaf.ASTNode
-
Retrieve the type
- getWriteOperand() - Method in class edu.jmu.decaf.ILOCInstruction
-
Returns a single ILOCOperands written by this instruction.
- getWriteOperands() - Method in class edu.jmu.decaf.ILOCInstruction
-
Returns a list of ILOCOperands written by this instruction.
- guard - Variable in class edu.jmu.decaf.ASTWhileLoop
-
- id - Variable in class edu.jmu.decaf.ILOCBasicBlock
-
- id - Variable in class edu.jmu.decaf.ILOCOperand
-
Unique ID (for virtual register and jump label operands)
- ifBlock - Variable in class edu.jmu.decaf.ASTConditional
-
- ILOCBasicBlock - Class in edu.jmu.decaf
-
- ILOCFunction - Class in edu.jmu.decaf
-
Decaf function in ILOC intermediate representation (IR).
- ILOCFunction(Symbol) - Constructor for class edu.jmu.decaf.ILOCFunction
-
Create a new (empty) ILOC function
- ILOCFunction.Variable - Class in edu.jmu.decaf
-
Helper wrapper class for debug variable information (useful for data flow analysis)
- ILOCGenerator - Class in edu.jmu.decaf
-
AST post-visitor; converts a Decaf program in AST IR to ILOC IR by walking
the tree and recursively emitting sequential IR.
- ILOCGenerator() - Constructor for class edu.jmu.decaf.ILOCGenerator
-
- ILOCInstruction - Class in edu.jmu.decaf
-
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(ILOCInstruction.Form, ILOCOperand[]) - Constructor for class edu.jmu.decaf.ILOCInstruction
-
Create a new instruction
- ILOCInstruction(ILOCInstruction.Form, ILOCOperand[], String) - Constructor for class edu.jmu.decaf.ILOCInstruction
-
Create a new instruction
- ILOCInstruction.Form - Enum in edu.jmu.decaf
-
Possible forms of an ILOC instruction
- ILOCInterpreter - Class in edu.jmu.decaf
-
Simulates a simple architecture that can directly execute ILOC programs.
- ILOCInterpreter() - Constructor for class edu.jmu.decaf.ILOCInterpreter
-
- ILOCInterpreter(boolean) - Constructor for class edu.jmu.decaf.ILOCInterpreter
-
- ILOCOperand - Class in edu.jmu.decaf
-
Single ILOC instruction operand: a register (named or virtual), a jump/call
label, an integer constant, or a string constant.
- ILOCOperand.Type - Enum in edu.jmu.decaf
-
- ILOCProcessor - Interface in edu.jmu.decaf
-
All ILOC processing passes (static analysis, optimization, machine code
generation, etc.) should implement this (admittedly simple) standardized
interface.
- ILOCProgram - Class in edu.jmu.decaf
-
Decaf program in ILOC intermediate representation (IR).
- ILOCProgram() - Constructor for class edu.jmu.decaf.ILOCProgram
-
Create a new ILOC program object with an empty symbol table
- indent(ASTNode) - Method in class edu.jmu.decaf.PrintDebugSymbolTables
-
- indent(ASTNode) - Method in class edu.jmu.decaf.PrintDebugTree
-
- index - Variable in class edu.jmu.decaf.ASTLocation
-
- indexedOffset(ASTNode, Symbol, ILOCOperand) - Method in class edu.jmu.decaf.ILOCGenerator
-
Calculates the offset of an indexed variable reference and returns the
adjusted offset in an
ILOCOperand
.
- initializeScope() - Method in class edu.jmu.decaf.BuildSymbolTables
-
Create a new innermost symbol table scope and push it on the stack.
- insert(String, Symbol) - Method in class edu.jmu.decaf.SymbolTable
-
Inserts a new symbol into the symbol table
- insertFunctionSymbol(ASTFunction) - Method in class edu.jmu.decaf.BuildSymbolTables
-
Add a symbol for the given function to the current (innermost) scope.
- insertParamSymbol(ASTFunction.Parameter) - Method in class edu.jmu.decaf.BuildSymbolTables
-
Add a symbol for the given function parameter to the current (innermost) scope.
- insertPrintFunctionSymbol(String, ASTNode.DataType) - Method in class edu.jmu.decaf.BuildSymbolTables
-
Add a symbol for a hard-coded function to the current (innermost) scope.
- insertVariableSymbol(ASTVariable) - Method in class edu.jmu.decaf.BuildSymbolTables
-
Add a symbol for the given variable to the current (innermost) scope.
- instructions - Variable in class edu.jmu.decaf.ILOCBasicBlock
-
- instructions - Variable in class edu.jmu.decaf.ILOCFunction
-
List of ILOC instructions
- intConstant - Variable in class edu.jmu.decaf.ILOCOperand
-
Integer constant (for int constant operands)
- INVALID - Static variable in class edu.jmu.decaf.ILOCOperand
-
Invalid operand tag
- INVALID - Static variable in class edu.jmu.decaf.SourceInfo
-
Flag value used to indicate missing or erroneous source information
- InvalidInstructionException - Exception in edu.jmu.decaf
-
Error encountered during execution.
- InvalidInstructionException(String) - Constructor for exception edu.jmu.decaf.InvalidInstructionException
-
- InvalidProgramException - Exception in edu.jmu.decaf
-
Error encountered during static/semantic analysis.
- InvalidProgramException(String) - Constructor for exception edu.jmu.decaf.InvalidProgramException
-
- InvalidSyntaxException - Exception in edu.jmu.decaf
-
Error encountered during parsing.
- InvalidSyntaxException(String) - Constructor for exception edu.jmu.decaf.InvalidSyntaxException
-
- InvalidTokenException - Exception in edu.jmu.decaf
-
Error encountered during lexing.
- InvalidTokenException(String) - Constructor for exception edu.jmu.decaf.InvalidTokenException
-
- inVisit(ASTBinaryExpr) - Method in interface edu.jmu.decaf.ASTVisitor
-
- inVisit(ASTBinaryExpr) - Method in class edu.jmu.decaf.DefaultASTVisitor
-
- isArray - Variable in class edu.jmu.decaf.ASTVariable
-
- isArray - Variable in class edu.jmu.decaf.Symbol
-
Flag indicating this symbol represents an array
- isNextToken(Queue<Token>, Token.Type) - Method in class edu.jmu.decaf.DecafParser
-
Returns true if and only if the head of the queue is a token of the
expected type.
- isNextTokenBinOp(Queue<Token>, int) - Method in class edu.jmu.decaf.MyDecafParser
-
- isNextTokenKeyword(Queue<Token>, String) - Method in class edu.jmu.decaf.DecafParser
-
Returns true if and only if the head of the queue is a keyword token with
the expected text.
- isNextTokenSymbol(Queue<Token>, String) - Method in class edu.jmu.decaf.DecafParser
-
Returns true if and only if the head of the queue is a symbol token with
the expected text.
- REG_BP - Static variable in class edu.jmu.decaf.ILOCOperand
-
Base pointer register (ebp/rbp on x86)
- REG_RET - Static variable in class edu.jmu.decaf.ILOCOperand
-
Function return value register (eax/rax on x86)
- REG_SP - Static variable in class edu.jmu.decaf.ILOCOperand
-
Base pointer register (ebp/rbp on x86)
- removeChainedJump(ILOCFunction) - Method in class edu.jmu.decaf.PeepholeOptimizer
-
Replaces instructions of the form:
jmp lX
[...]
lX: jmp lY
with
jmp lY
[...]
lX: jmp lY
- removeEscapeCodes(String) - Static method in class edu.jmu.decaf.ASTLiteral
-
Remove escape codes from string literals and replace them with
the corresponding special character (quotes, newlines, or tabs)
- removeIdentityAddAndMult(ILOCFunction) - Method in class edu.jmu.decaf.PeepholeOptimizer
-
Replaces instructions of the form:
addI rX, 0 => rY
with
i2i rX => rY and
Replaces instructions of the form:
multI rX, 1 => rY
with
i2i rX => rY
Removes instructions of the form: addI rX, 0 => rX
Removes instructions of the form: multI rX, 1 => rX
- removeUselessCopies(ILOCFunction) - Method in class edu.jmu.decaf.PeepholeOptimizer
-
Removes instructions of the form: i2i rX -> rX
- RenumberRegistersAndLabels - Class in edu.jmu.decaf
-
Simple ILOC analysis pass that renumbers all the virtual register and
anonymous jump label IDs.
- RenumberRegistersAndLabels() - Constructor for class edu.jmu.decaf.RenumberRegistersAndLabels
-
- replaceOneLineJumps(ILOCFunction) - Method in class edu.jmu.decaf.PeepholeOptimizer
-
Removes jump in code of the form:
jmp lX
lX: [...]
- resetErrors() - Static method in class edu.jmu.decaf.StaticAnalysis
-
Clear all existing errors
- returnType - Variable in class edu.jmu.decaf.ASTFunction
-
- rightChild - Variable in class edu.jmu.decaf.ASTBinaryExpr
-
- run() - Method in class edu.jmu.decaf.DecafCompiler
-
Run all phases of the compiler.
- serialVersionUID - Static variable in exception edu.jmu.decaf.InvalidInstructionException
-
- serialVersionUID - Static variable in exception edu.jmu.decaf.InvalidProgramException
-
- serialVersionUID - Static variable in exception edu.jmu.decaf.InvalidSyntaxException
-
- serialVersionUID - Static variable in exception edu.jmu.decaf.InvalidTokenException
-
- setBool(ILOCOperand, int) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- setBool(ILOCOperand, boolean) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- setDepth(int) - Method in class edu.jmu.decaf.ASTNode
-
Initialize the tree depth marker
- setInstructions(List<ILOCInstruction>) - Method in class edu.jmu.decaf.ILOCFunction
-
Replace all instructions with a new sequence.
- setInt(ILOCOperand, int) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- setParent(ASTNode) - Method in class edu.jmu.decaf.ASTNode
-
Initialize the uptree parent pointer
- setSourceInfo(SourceInfo) - Method in class edu.jmu.decaf.ASTNode
-
Initialize source code information
- setTempReg(ASTNode, ILOCOperand) - Method in class edu.jmu.decaf.ILOCGenerator
-
Sets the temporary ILOC virtual register associated with the result of
evaluating a node in the AST.
- setType(ASTNode.DataType) - Method in class edu.jmu.decaf.ASTNode
-
Initialize type
- size() - Method in class edu.jmu.decaf.SymbolTable
-
Get accessible symbol count
- source - Variable in class edu.jmu.decaf.Token
-
Token source info (filename and line number)
- SourceInfo - Class in edu.jmu.decaf
-
Stores information about a location in a program's source code.
- SourceInfo(String) - Constructor for class edu.jmu.decaf.SourceInfo
-
- SourceInfo(String, int) - Constructor for class edu.jmu.decaf.SourceInfo
-
- sources - Variable in class edu.jmu.decaf.ILOCBasicBlock
-
- statements - Variable in class edu.jmu.decaf.ASTBlock
-
- StaticAnalysis - Class in edu.jmu.decaf
-
- StaticAnalysis() - Constructor for class edu.jmu.decaf.StaticAnalysis
-
- staticSize - Variable in class edu.jmu.decaf.ILOCProgram
-
Size (in bytes) to allocate in static region for global variables
- staticSymbols - Variable in class edu.jmu.decaf.ILOCProgram
-
Static symbol table (global variables and functions)
- storeInt(int, int) - Method in class edu.jmu.decaf.ILOCInterpreter
-
- storeLoadOptimize(ILOCFunction) - Method in class edu.jmu.decaf.PeepholeOptimizer
-
(CASE 1) Replaces code of the form:
storeAI rX -> bp + offset
load bp + offset -> rY
with
storeAI rX -> bp + offset
i2i rX -> rY
(CASE 2) Replaces code of the form:
storeAI rX => BP+offset
load BP+offset => rX
with
storeAI rX => BP+offset
- strConstant - Variable in class edu.jmu.decaf.ILOCOperand
-
String constant (for call label and string constant operands)
- Symbol - Class in edu.jmu.decaf
-
Single Decaf symbol.
- Symbol(String, ASTNode.DataType) - Constructor for class edu.jmu.decaf.Symbol
-
Create a new scalar symbol
- Symbol(String, ASTNode.DataType, boolean, int) - Constructor for class edu.jmu.decaf.Symbol
-
Create a new array symbol
- Symbol(String, ASTNode.DataType, List<ASTNode.DataType>) - Constructor for class edu.jmu.decaf.Symbol
-
Create a new function symbol
- Symbol.MemLoc - Enum in edu.jmu.decaf
-
Memory access locations.
- SymbolTable - Class in edu.jmu.decaf
-
Stores name-to-symbol-info mappings for a single lexical scope.
- SymbolTable() - Constructor for class edu.jmu.decaf.SymbolTable
-
Create a new, empty symbol table with no parent table.
- SymbolTable(SymbolTable) - Constructor for class edu.jmu.decaf.SymbolTable
-
Create a new, empty symbol table.
- targets - Variable in class edu.jmu.decaf.ILOCBasicBlock
-
- temp(List<ILOCBasicBlock>) - Method in class edu.jmu.decaf.ILOCFunction
-
- text - Variable in class edu.jmu.decaf.Token
-
Token text--raw data from the source file
- Token - Class in edu.jmu.decaf
-
Data structure that represents a single token of a Decaf program.
- Token(Token.Type) - Constructor for class edu.jmu.decaf.Token
-
- Token(Token.Type, String) - Constructor for class edu.jmu.decaf.Token
-
- Token(Token.Type, String, SourceInfo) - Constructor for class edu.jmu.decaf.Token
-
- Token.Type - Enum in edu.jmu.decaf
-
Token type.
- toString() - Method in class edu.jmu.decaf.ASTBinaryExpr
-
- toString() - Method in class edu.jmu.decaf.ASTFunctionCall
-
- toString() - Method in class edu.jmu.decaf.ASTLiteral
-
- toString() - Method in class edu.jmu.decaf.ASTLocation
-
- toString() - Method in class edu.jmu.decaf.ASTUnaryExpr
-
- toString() - Method in class edu.jmu.decaf.ILOCFunction
-
Builds a standard string-based representation of an ILOC function
- toString() - Method in class edu.jmu.decaf.ILOCInstruction
-
Builds a standardized string representation of an ILOC instruction
- toString(boolean) - Method in class edu.jmu.decaf.ILOCInstruction
-
Builds a standardized string representation of an ILOC instruction
- toString() - Method in class edu.jmu.decaf.ILOCOperand
-
Builds a string representing the operand
- toString() - Method in class edu.jmu.decaf.ILOCProgram
-
Builds a standard string-based representation of an ILOC program
- toString() - Method in class edu.jmu.decaf.SourceInfo
-
- toString() - Method in class edu.jmu.decaf.Symbol
-
Simplified string representation
- toString() - Method in class edu.jmu.decaf.SymbolTable
-
Builds a nicely-formatted list of new symbols declared from this scope.
- toString(int) - Method in class edu.jmu.decaf.SymbolTable
-
Builds a nicely-formatted list of new symbols declared in this scope.
- toString() - Method in class edu.jmu.decaf.Token
-
Returns a nicely-formatted representation suitable for debug printing
- totalSize - Variable in class edu.jmu.decaf.Symbol
-
Size of overall structure (in bytes); for scalar variables,
elementSize == totalSize
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTAssignment
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTBinaryExpr
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTBlock
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTBreak
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTConditional
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTContinue
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTFunction
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTFunctionCall
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTLiteral
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTLocation
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTNode
-
Generic traversal method for the visitor pattern.
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTProgram
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTReturn
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTUnaryExpr
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTVariable
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTVoidFunctionCall
-
- traverse(ASTVisitor) - Method in class edu.jmu.decaf.ASTWhileLoop
-
- type - Variable in class edu.jmu.decaf.ASTFunction.Parameter
-
- type - Variable in class edu.jmu.decaf.ASTLiteral
-
- type - Variable in class edu.jmu.decaf.ASTVariable
-
- type - Variable in class edu.jmu.decaf.ILOCOperand
-
Operand type
- type - Variable in class edu.jmu.decaf.Symbol
-
Data type
- type - Variable in class edu.jmu.decaf.Token
-
Token type
- typeToString(ASTNode.DataType) - Static method in class edu.jmu.decaf.ASTNode
-
Returns a human-readable version of Decaf data types.
- typeToString(Token.Type) - Static method in class edu.jmu.decaf.Token
-
- value - Variable in class edu.jmu.decaf.ASTAssignment
-
- value - Variable in class edu.jmu.decaf.ASTLiteral
-
- value - Variable in class edu.jmu.decaf.ASTReturn
-
- valueOf(String) - Static method in enum edu.jmu.decaf.ASTBinaryExpr.BinOp
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum edu.jmu.decaf.ASTNode.DataType
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum edu.jmu.decaf.ASTUnaryExpr.UnaryOp
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum edu.jmu.decaf.ILOCInstruction.Form
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum edu.jmu.decaf.ILOCOperand.Type
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum edu.jmu.decaf.Symbol.MemLoc
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum edu.jmu.decaf.Token.Type
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum edu.jmu.decaf.ASTBinaryExpr.BinOp
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum edu.jmu.decaf.ASTNode.DataType
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum edu.jmu.decaf.ASTUnaryExpr.UnaryOp
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum edu.jmu.decaf.ILOCInstruction.Form
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum edu.jmu.decaf.ILOCOperand.Type
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum edu.jmu.decaf.Symbol.MemLoc
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum edu.jmu.decaf.Token.Type
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- Variable(ILOCOperand, ILOCOperand) - Constructor for class edu.jmu.decaf.ILOCFunction.Variable
-
- variableName - Variable in class edu.jmu.decaf.ILOCInstruction
-
Debug information for data flow analysis
- variables - Variable in class edu.jmu.decaf.ASTBlock
-
- variables - Variable in class edu.jmu.decaf.ASTProgram
-