org.extex.ocpware.compiler.left
Class PlusLeft
java.lang.Object
org.extex.ocpware.compiler.left.PlusLeft
- All Implemented Interfaces:
- Left
public class PlusLeft
- extends java.lang.Object
- implements Left
This class represents a left item with a lower bound of occurrences.
- Version:
- $Revision:6007 $
- Author:
- Gerd Neugebauer
|
Constructor Summary |
PlusLeft(Left left,
int from)
Creates a new object. |
|
Method Summary |
java.util.List<java.lang.Integer> |
genLeft(State state,
CompilerState cs)
Compile the left item and add the appropriate instructions to the state. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
PlusLeft
public PlusLeft(Left left,
int from)
- Creates a new object.
- Parameters:
left - the left itemfrom - the minimum
genLeft
public java.util.List<java.lang.Integer> genLeft(State state,
CompilerState cs)
throws java.io.IOException,
ArgmentTooBigException,
AliasNotDefinedException,
IllegalOpcodeException
- Compile the left item and add the appropriate instructions to the state.
As a result a list of indices into the code is returned which should need
to be fixed. This fix inserts the position of the code into the places
given. Thus it is possible to put destinations for goto statements into
the holes.
- Specified by:
genLeft in interface Left
- Parameters:
state - the current statecs - the compiler state
- Returns:
- the list of instructions to fix
- Throws:
AliasNotDefinedException - in case that no matching alias is known
for a symbolic table reference
java.io.IOException - in case of an I/O error
ArgmentTooBigException - in case that an argument is encountered
which does not fit into two bytes
IllegalOpcodeException - in case of an illegal op code- See Also:
Left.genLeft(
org.extex.ocpware.compiler.parser.State, CompilerState)
toString
public java.lang.String toString()
-
- Overrides:
toString in class java.lang.Object
- See Also:
Object.toString()