org.extex.unit.etex.conditional.analyze
Class Currentifbranch
java.lang.Object
org.extex.interpreter.type.AbstractCode
org.extex.unit.etex.conditional.analyze.Currentifbranch
- All Implemented Interfaces:
- java.io.Serializable, CountConvertible, Code, Theable
public class Currentifbranch
- extends AbstractCode
- implements CountConvertible, Theable
This class provides an implementation for the primitive
\currentifbranch.
The Primitive \currentifbranch
The primitive \currentifbranch is an integer quantity which
provides the information in which branch of the enclosing conditional. The
value is determined by the following rules:
- If the then branch of the enclosing is active then the value is
1.
- If the else branch of the enclosing is active then the value is
-1.
- If the enclosing conditional is \ifcase then the value is the
number selecting the current case for normal cases and -1 for the
else case.
- If there is no enclosing conditional then the value is 0.
The primitive \currentifbranch is a read-only quantity. an attempt
to use this primitive in a horizontal or vertical mode results in an error.
Syntax
The formal description of this primitive is the following:
〈currentifbranch〉
→ \currentifbranch
Examples
\count0=\currentifbranch
- Version:
- $Revision:4435 $
- Author:
- Gerd Neugebauer
- See Also:
- Serialized Form
|
Field Summary |
protected static long |
serialVersionUID
The constant serialVersionUID contains the id for
serialization. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
serialVersionUID
protected static final long serialVersionUID
- The constant serialVersionUID contains the id for
serialization.
- See Also:
- Constant Field Values
Currentifbranch
public Currentifbranch(CodeToken token)
- Creates a new object.
- Parameters:
token - the initial token for the primitive
convertCount
public long convertCount(Context context,
TokenSource source,
Typesetter typesetter)
throws HelpingException,
TypesetterException
- This method converts a register into a count. It might be necessary to
read further tokens to determine which value to use. For instance an
additional register number might be required. In this case the additional
arguments Context and TokenSource can be used.
- Specified by:
convertCount in interface CountConvertible
- Parameters:
context - the interpreter contextsource - the source for new tokenstypesetter - the typesetter to use for conversion
- Returns:
- the converted value
- Throws:
HelpingException - in case of an error
TypesetterException - in case of an error in the typesetter- See Also:
CountConvertible.convertCount(
org.extex.interpreter.context.Context,
org.extex.interpreter.TokenSource, org.extex.typesetter.Typesetter)
the
public Tokens the(Context context,
TokenSource source,
Typesetter typesetter)
throws CatcodeException,
HelpingException,
TypesetterException
- This method is the getter for the description of the primitive.
- Specified by:
the in interface Theable
- Parameters:
context - the interpreter contextsource - the source for further tokens to qualify the requesttypesetter - the typesetter to use
- Returns:
- the description of the primitive as list of Tokens
- Throws:
CatcodeException - in case of an error in token creation
ConfigurationException - in case of an configuration error
HelpingException - in case of an error
TypesetterException - in case of an error- See Also:
Theable.the(
org.extex.interpreter.context.Context,
org.extex.interpreter.TokenSource, org.extex.typesetter.Typesetter)