de.dante.extex.interpreter.primitives.arithmetic
Class Multiply
java.lang.Object
de.dante.extex.interpreter.type.AbstractCode
de.dante.extex.interpreter.type.AbstractAssignment
de.dante.extex.interpreter.primitives.arithmetic.Multiply
- All Implemented Interfaces:
- Code, Localizable, java.io.Serializable
- public class Multiply
- extends AbstractAssignment
This class provides an implementation for the primitive
\multiply
.
The Primitive \advance
This primitive implements an assignment. The variable given as next tokens
is multiplied by the quantity given after the optional by.
Syntax
The formal description of this primitive is the following:
〈multiply〉
→ 〈optional prefix〉 \multiply 〈multiplyable〉
〈multiplyable〉
→ 〈integer variable〉 〈optional by〉 〈8-bit number〉
| 〈dimen variable〉 〈optional by〉 〈8-bit number〉
| 〈glue variable〉 〈optional by〉 〈8-bit number〉
| 〈muglue variable〉 〈optional by〉 〈8-bit number〉
〈optional prefix〉
→
| \global 〈optional prefix〉
〈optional by〉
→ [by]
| 〈optional spaces〉
Examples
\multiply\count12 345
\multiply\count12 by -345
- Version:
- $Revision: 1.25 $
- Author:
- Gerd Neugebauer
- See Also:
Multiplyable
,
Serialized Form
Field Summary |
protected static long |
serialVersionUID
The constant serialVersionUID contains the id for serialization. |
Constructor Summary |
Multiply(java.lang.String name)
Creates a new object. |
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
Multiply
public Multiply(java.lang.String name)
- Creates a new object.
- Parameters:
name
- the name for debugging
assign
public void assign(Flags prefix,
Context context,
TokenSource source,
Typesetter typesetter)
throws InterpreterException
- Description copied from class:
AbstractAssignment
- The method assign is the core of the functionality of
execute()
.
This method is preferable to execute() since the
execute() method provided in this class takes care of
\afterassignment and \globaldefs as well.
- Specified by:
assign
in class AbstractAssignment
- Parameters:
prefix
- the prefix controlling the executioncontext
- the interpreter contextsource
- the token sourcetypesetter
- the typesetter
- Throws:
InterpreterException
- in case of an error- See Also:
Code.execute(
de.dante.extex.interpreter.Flags,
de.dante.extex.interpreter.context.Context,
de.dante.extex.interpreter.TokenSource,
de.dante.extex.typesetter.Typesetter)