fr.umlv.tatoo.cc.parser.table
Class NodeItem<I extends NodeItem<I>>

java.lang.Object
  extended by fr.umlv.tatoo.cc.parser.table.NodeItem<I>
Type Parameters:
I - type of the grammar item
Direct Known Subclasses:
LR0Item, LR1Item

public abstract class NodeItem<I extends NodeItem<I>>
extends Object

Represents a LR table item


Constructor Summary
NodeItem(ProductionDecl production, int dotPlace)
           
 
Method Summary
abstract  I advance()
           
 boolean equals(Object o)
           
 int getDotPlace()
           
 VariableDecl getDottedVariable()
           
 NonTerminalDecl getLeft()
           
 ProductionDecl getProduction()
           
 List<? extends VariableDecl> getRight()
           
 int hashCode()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NodeItem

public NodeItem(ProductionDecl production,
                int dotPlace)
Method Detail

advance

public abstract I advance()

hashCode

public int hashCode()
Overrides:
hashCode in class Object

getDotPlace

public int getDotPlace()

equals

public boolean equals(Object o)
Overrides:
equals in class Object

getProduction

public ProductionDecl getProduction()

getLeft

public NonTerminalDecl getLeft()

getRight

public List<? extends VariableDecl> getRight()

getDottedVariable

public VariableDecl getDottedVariable()
Returns:
the variable after the dot or null if dot is after the last variable
Throws:
ArrayIndexOutOfBoundsException - if dot at end of item

toString

public String toString()
Overrides:
toString in class Object