Class Token

java.lang.Object
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.
Version:
August 2003
Author:
Pete Sanderson
  • Constructor Details

    • 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 Details

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