mars.assembler
Class Token

java.lang.Object
  extended by mars.assembler.Token

public class Token
extends Object

Represents one token in the input MIPS program. Each Token carries, along with its type and value, the position (line, column) in which its source appears in the MIPS program.

Author:
Pete Sanderson

Constructor Summary
Token(TokenTypes type, String value, MIPSprogram sourceMIPSprogram, int line, int start)
          Constructor for Token class.
 
Method Summary
 MIPSprogram getOriginalProgram()
          Produces original program containing this token.
 int getOriginalSourceLine()
          Produces original line number of this token.
 int getSourceLine()
          Produces line number of MIPS program of this token.
 MIPSprogram getSourceMIPSprogram()
          Produces MIPSprogram object associated with this token.
 int getStartPos()
          Produces position within source line of this token.
 TokenTypes getType()
          Produces token type of this token.
 String getValue()
          Produces source code of this token.
 void setOriginal(MIPSprogram origProgram, int origSourceLine)
          Set original program and line number for this token.
 void setType(TokenTypes type)
          Set or modify token type.
 String toString()
          Get a String representing the token.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Token

public Token(TokenTypes type,
             String value,
             MIPSprogram sourceMIPSprogram,
             int line,
             int start)
Constructor for Token class.

Parameters:
type - The token type that this token has. (e.g. REGISTER_NAME)
value - The source value for this token (e.g. $t3)
sourceMIPSprogram - The MIPSprogram object containing this token
line - The line number in source program in which this token appears.
start - The starting position in that line number of this token's source value.
See Also:
TokenTypes
Method Detail

setOriginal

public void setOriginal(MIPSprogram origProgram,
                        int origSourceLine)
Set original program and line number for this token. Line number or both may change during pre-assembly as a result of the ".include" directive, and we need to keep the original for later reference (error messages, text segment display).

Parameters:
origProgram - MIPS program containing this token.
origSourceLine - Line within that program of this token.

getOriginalProgram

public MIPSprogram getOriginalProgram()
Produces original program containing this token.

Returns:
MIPSprogram of origin for this token.

getOriginalSourceLine

public int getOriginalSourceLine()
Produces original line number of this token. It could change as result of ".include"

Returns:
original line number of this token.

getType

public TokenTypes getType()
Produces token type of this token.

Returns:
TokenType of this token.

setType

public void setType(TokenTypes type)
Set or modify token type. Generally used to note that an identifier that matches an instruction name is actually being used as a label.

Parameters:
type - new TokenTypes for this token.

getValue

public String getValue()
Produces source code of this token.

Returns:
String containing source code of this token.

toString

public String toString()
Get a String representing the token. This method is equivalent to getValue().

Overrides:
toString in class Object
Returns:
String version of the token.

getSourceMIPSprogram

public MIPSprogram getSourceMIPSprogram()
Produces MIPSprogram object associated with this token.

Returns:
MIPSprogram object associated with this token.

getSourceLine

public int getSourceLine()
Produces line number of MIPS program of this token.

Returns:
line number in source program of this token.

getStartPos

public int getStartPos()
Produces position within source line of this token.

Returns:
first character position within source program line of this token.