avrora.syntax
Class Module
java.lang.Object
avrora.syntax.Module
- All Implemented Interfaces:
- Context
- Direct Known Subclasses:
- RawModule
- public class Module
- extends java.lang.Object
- implements Context
The Module class collects together the instructions and data
into an AVR assembly program.
|
Constructor Summary |
Module(boolean cs,
boolean ba)
|
|
Method Summary |
void |
addConstant(AbstractToken name,
Expr val)
|
void |
addDataBytes(ExprList l)
|
void |
addDataDoubleWords(ExprList l)
|
void |
addDataWords(ExprList l)
|
void |
addDefinition(AbstractToken name,
AbstractToken rtok)
|
void |
addInstruction(java.lang.String variant,
AbstractToken name)
|
void |
addInstruction(java.lang.String variant,
AbstractToken name,
SyntacticOperand o1)
|
void |
addInstruction(java.lang.String variant,
AbstractToken name,
SyntacticOperand o1,
SyntacticOperand o2)
|
void |
addInstruction(java.lang.String variant,
AbstractToken name,
SyntacticOperand o1,
SyntacticOperand o2,
SyntacticOperand o3)
|
void |
addLabel(AbstractToken name)
|
void |
addRegisterName(java.lang.String name,
java.lang.String reg)
|
void |
addVariable(java.lang.String name,
int value)
|
static int |
align(int val,
int width)
|
Program |
build()
|
void |
enterDataSegment()
|
void |
enterEEPROMSegment()
|
void |
enterProgramSegment()
|
Register |
getRegister(AbstractToken tok)
The getRegister() method resolves a register that may have been
renamed earlier in the program. |
int |
getVariable(AbstractToken tok)
The getVariable() method looks up the value of a named constant
within the current environment and returns its value. |
void |
includeFile(AbstractToken fname)
|
SyntacticOperand.Register |
newOperand(AbstractToken tok)
|
SyntacticOperand.Expr |
newOperand(Expr e)
|
void |
reserveBytes(Expr e,
Expr f)
|
void |
setOrigin(Expr.Constant c)
|
protected void |
simplify(Item i)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
definitions
public final java.util.HashMap definitions
constants
public final java.util.HashMap constants
labels
public final java.util.HashMap labels
ERROR
public final AVRErrorReporter ERROR
caseSensitivity
public final boolean caseSensitivity
useByteAddresses
public final boolean useByteAddresses
segment
protected Module.Seg segment
programSegment
protected Module.Seg programSegment
dataSegment
protected Module.Seg dataSegment
eepromSegment
protected Module.Seg eepromSegment
newprogram
public Program newprogram
Module
public Module(boolean cs,
boolean ba)
addDefinition
public void addDefinition(AbstractToken name,
AbstractToken rtok)
addConstant
public void addConstant(AbstractToken name,
Expr val)
enterDataSegment
public void enterDataSegment()
enterProgramSegment
public void enterProgramSegment()
enterEEPROMSegment
public void enterEEPROMSegment()
addDataBytes
public void addDataBytes(ExprList l)
addDataWords
public void addDataWords(ExprList l)
addDataDoubleWords
public void addDataDoubleWords(ExprList l)
setOrigin
public void setOrigin(Expr.Constant c)
reserveBytes
public void reserveBytes(Expr e,
Expr f)
includeFile
public void includeFile(AbstractToken fname)
throws AbstractParseException
- Throws:
AbstractParseException
addInstruction
public void addInstruction(java.lang.String variant,
AbstractToken name)
addInstruction
public void addInstruction(java.lang.String variant,
AbstractToken name,
SyntacticOperand o1)
addInstruction
public void addInstruction(java.lang.String variant,
AbstractToken name,
SyntacticOperand o1,
SyntacticOperand o2)
addInstruction
public void addInstruction(java.lang.String variant,
AbstractToken name,
SyntacticOperand o1,
SyntacticOperand o2,
SyntacticOperand o3)
addLabel
public void addLabel(AbstractToken name)
build
public Program build()
simplify
protected void simplify(Item i)
addVariable
public void addVariable(java.lang.String name,
int value)
addRegisterName
public void addRegisterName(java.lang.String name,
java.lang.String reg)
getRegister
public Register getRegister(AbstractToken tok)
- Description copied from interface:
Context
- The
getRegister() method resolves a register that may have been
renamed earlier in the program.
- Specified by:
getRegister in interface Context
- Parameters:
tok - the string name of the register or register alias
- Returns:
- a reference to the
Register instance representing
the register with the specified name or alias
getVariable
public int getVariable(AbstractToken tok)
- Description copied from interface:
Context
- The
getVariable() method looks up the value of a named constant
within the current environment and returns its value.
- Specified by:
getVariable in interface Context
- Parameters:
tok - the name of the variable
- Returns:
- the value of the variable within the environment
newOperand
public SyntacticOperand.Expr newOperand(Expr e)
newOperand
public SyntacticOperand.Register newOperand(AbstractToken tok)
align
public static int align(int val,
int width)