de.dante.extex.interpreter.type
Interface Code

All Known Implementing Classes:
AbstractCode, BoxParameter, Ocp, Setbox

public interface Code

This is the interface for all expandable or executable classes.

Each primitive has a name which is used for debugging purposes. Since an arbitrary sequence of \let and \def operations might have taken place it is in general not possible to determine the current name under which the primitive has been called. Thus an initial value is stored in it for this purpose.

Version:
$Revision: 1.7 $
Author:
Gerd Neugebauer, Michael Niedermair

Method Summary
 void execute(Flags prefix, Context context, TokenSource source, Typesetter typesetter)
          This method takes the first token and executes it.
 java.lang.String getName()
          Getter for the name.
 boolean isIf()
          This simple little method distinguishes the conditionals from the other primitives.
 boolean isOuter()
          Getter for the outer flag.
 void setName(java.lang.String name)
          Setter for the name of this primitive.
 

Method Detail

isIf

public boolean isIf()
This simple little method distinguishes the conditionals from the other primitives. This is necessary for the processing of all \if* primitives.

Returns:
true iff this is some sort if \if.

isOuter

public boolean isOuter()
Getter for the outer flag.

Returns:
true iff the code is defined outer.

setName

public void setName(java.lang.String name)
Setter for the name of this primitive.

Parameters:
name - the name

getName

public java.lang.String getName()
Getter for the name.

Returns:
the name

execute

public void execute(Flags prefix,
                    Context context,
                    TokenSource source,
                    Typesetter typesetter)
             throws InterpreterException
This method takes the first token and executes it. The result is placed on the stack. This operation might have side effects. To execute a token it might be necessary to consume further tokens.

Parameters:
prefix - the prefix controlling the execution
context - the interpreter context
source - the token source
typesetter - the typesetter
Throws:
InterpreterException - in case of an error