org.extex.ocpware.compiler.left
Interface Left

All Known Implementing Classes:
AliasLeft, BeginningLeft, ChoiceLeft, CompleteLeft, Constant, DoubleLeft, EndLeft, LeftList, NotChoiceLeft, PlusLeft, StringItem, WildCard

public interface Left

This is the interface for left items.

Version:
$Revision:6007 $
Author:
Gerd Neugebauer

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.
 

Method Detail

genLeft

java.util.List<java.lang.Integer> genLeft(State state,
                                          CompilerState cs)
                                          throws AliasNotDefinedException,
                                                 ArgmentTooBigException,
                                                 java.io.IOException,
                                                 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.

Parameters:
state - the current state
cs - 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
ArgmentTooBigException - in case that an argument is encountered which does not fit into two bytes
java.io.IOException - in case of an I/O error
IllegalOpcodeException - in case of an illegal op code