mars.assembler
Class TokenList

java.lang.Object
  extended by mars.assembler.TokenList
All Implemented Interfaces:
Cloneable

public class TokenList
extends Object
implements Cloneable

Represents the list of tokens in a single line of MIPS code. It uses, but is not a subclass of, ArrayList.

Author:
Pete Sanderson

Constructor Summary
TokenList()
          Constructor for objects of class TokenList
 
Method Summary
 void add(Token token)
          Adds a Token object to the end of the list.
 Object clone()
          Makes clone (shallow copy) of this token list object.
 Token get(int pos)
          Returns requested token given position number (starting at 0).
 boolean isEmpty()
          Returns empty/non-empty status of list.
 void remove(int pos)
          Removes Token object at specified list position.
 void set(int pos, Token replacement)
          Replaces token at position with different one.
 int size()
          Returns number of tokens in list.
 String toString()
          Get a String representing the token list.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TokenList

public TokenList()
Constructor for objects of class TokenList

Method Detail

get

public Token get(int pos)
Returns requested token given position number (starting at 0).

Parameters:
pos - Position in token list.
Returns:
the requested token, or ArrayIndexOutOfBounds exception

set

public void set(int pos,
                Token replacement)
Replaces token at position with different one. Will throw ArrayIndexOutOfBounds exception if position does not exist.

Parameters:
pos - Position in token list.
replacement - Replacement token

size

public int size()
Returns number of tokens in list.

Returns:
token count.

add

public void add(Token token)
Adds a Token object to the end of the list.

Parameters:
token - Token object to be added.

remove

public void remove(int pos)
Removes Token object at specified list position. Uses ArrayList remove method.

Parameters:
pos - Position in token list. Subsequent Tokens are shifted one position left.
Throws:
IndexOutOfBoundsException - if pos is < 0 or >= size()

isEmpty

public boolean isEmpty()
Returns empty/non-empty status of list.

Returns:
true if list has no tokens, else false.

toString

public String toString()
Get a String representing the token list.

Overrides:
toString in class Object
Returns:
String version of the token list (a blank is inserted after each token).

clone

public Object clone()
Makes clone (shallow copy) of this token list object.

Overrides:
clone in class Object
Returns:
the cloned list.