|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--sjm.parse.Assembly
An assembly maintains a stream of language elements along with stack and target objects. Parsers use assemblers to record progress at recognizing language elements from assembly's string.
Field Summary | |
protected int |
index
|
protected java.util.Stack |
stack
|
protected PubliclyCloneable |
target
|
Constructor Summary | |
Assembly()
|
Method Summary | |
java.lang.Object |
clone()
Return a copy of this object. |
abstract java.lang.String |
consumed(java.lang.String delimiter)
Returns the elements of the assembly that have been consumed, separated by the specified delimiter. |
abstract java.lang.String |
defaultDelimiter()
Returns the default string to show between elements. |
int |
elementsConsumed()
Returns the number of elements that have been consumed. |
int |
elementsRemaining()
Returns the number of elements that have not been consumed. |
java.util.Stack |
getStack()
Removes this assembly's stack. |
java.lang.Object |
getTarget()
Returns the object identified as this assembly's "target". |
boolean |
hasMoreElements()
Returns true if this assembly has unconsumed elements. |
abstract int |
length()
Returns the number of elements in this assembly. |
abstract java.lang.Object |
peek()
Shows the next object in the assembly, without removing it |
java.lang.Object |
pop()
Removes the object at the top of this assembly's stack and returns it. |
void |
push(java.lang.Object o)
Pushes an object onto the top of this assembly's stack. |
abstract java.lang.String |
remainder(java.lang.String delimiter)
Returns the elements of the assembly that remain to be consumed, separated by the specified delimiter. |
void |
setTarget(PubliclyCloneable target)
Sets the target for this assembly. |
boolean |
stackIsEmpty()
Returns true if this assembly's stack is empty. |
java.lang.String |
toString()
Returns a textual description of this assembly. |
void |
unget(int n)
Put back n objects |
Methods inherited from class java.lang.Object |
|
Methods inherited from interface java.util.Enumeration |
nextElement |
Field Detail |
protected java.util.Stack stack
protected PubliclyCloneable target
protected int index
Constructor Detail |
public Assembly()
Method Detail |
public java.lang.Object clone()
clone
in interface PubliclyCloneable
clone
in class java.lang.Object
public abstract java.lang.String consumed(java.lang.String delimiter)
String
- the mark to show between consumed
elementspublic abstract java.lang.String defaultDelimiter()
public int elementsConsumed()
public int elementsRemaining()
public java.util.Stack getStack()
public java.lang.Object getTarget()
public boolean hasMoreElements()
hasMoreElements
in interface java.util.Enumeration
public abstract int length()
public abstract java.lang.Object peek()
public java.lang.Object pop()
java.util.EmptyStackException
- if this stack is emptypublic void push(java.lang.Object o)
object
- the object to be pushedpublic abstract java.lang.String remainder(java.lang.String delimiter)
String
- the mark to show between unconsumed
elementspublic void setTarget(PubliclyCloneable target)
clone()
as a public method.target
- a publicly cloneable objectpublic boolean stackIsEmpty()
public java.lang.String toString()
toString
in class java.lang.Object
public void unget(int n)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |