org.extex.unit.etex.scan
Class Scantokens
java.lang.Object
org.extex.interpreter.type.AbstractCode
org.extex.unit.etex.scan.Scantokens
- All Implemented Interfaces:
- java.io.Serializable, Code, ExpandableCode
public class Scantokens
- extends AbstractCode
- implements ExpandableCode
This class provides an implementation for the primitive
\scantokens.
The Primitive \scantokens
The primitive \scantokens takes an unexpanded list of tokens and
uses them as a new source for an input stream. For this purpose the tokens
are translated into a string which is used as if it where written to a file
and read back in.
The tokens from the tokens register \everyeof are inserted when
the stream has no more tokens to read.
Syntax
The formal description of this primitive is the following:
〈scantokens〉
→ \scantokens 〈tokens〉
Examples
\scantokens{abc}
- Version:
- $Revision:4435 $
- Author:
- Gerd Neugebauer
- See Also:
- Serialized Form
|
Field Summary |
protected static long |
serialVersionUID
The field serialVersionUID contains the id for serialization. |
|
Method Summary |
void |
execute(Flags prefix,
Context context,
TokenSource source,
Typesetter typesetter)
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. |
void |
expand(Flags prefix,
Context context,
TokenSource source,
Typesetter typesetter)
This method takes the first token and expands it. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
serialVersionUID
protected static final long serialVersionUID
- The field serialVersionUID contains the id for serialization.
- See Also:
- Constant Field Values
Scantokens
public Scantokens(CodeToken token)
- Creates a new object.
- Parameters:
token - the initial token for the primitive
execute
public void execute(Flags prefix,
Context context,
TokenSource source,
Typesetter typesetter)
throws HelpingException,
TypesetterException
- 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.
- Specified by:
execute in interface Code- Overrides:
execute in class AbstractCode
- Parameters:
prefix - the prefix controlling the executioncontext - the interpreter contextsource - the token sourcetypesetter - the typesetter
- Throws:
HelpingException - in case of an error
TypesetterException - in case of an error in the typesetter- See Also:
AbstractCode.execute(
org.extex.interpreter.Flags, org.extex.interpreter.context.Context,
org.extex.interpreter.TokenSource, org.extex.typesetter.Typesetter)
expand
public void expand(Flags prefix,
Context context,
TokenSource source,
Typesetter typesetter)
throws ConfigurationException,
HelpingException,
TypesetterException
- This method takes the first token and expands it. The result is placed on
the stack. This means that expandable code does one step of expansion and
puts the result on the stack. To expand a token it might be necessary to
consume further tokens.
- Specified by:
expand in interface ExpandableCode
- Parameters:
prefix - the prefix flags controlling the expansioncontext - the interpreter contextsource - the token sourcetypesetter - the typesetter
- Throws:
ConfigurationException - in case of an configuration error
HelpingException - in case of an error
TypesetterException - in case of an error in the typesetter- See Also:
ExpandableCode.expand(
org.extex.interpreter.Flags, org.extex.interpreter.context.Context,
org.extex.interpreter.TokenSource, org.extex.typesetter.Typesetter)