org.extex.unit.tex.file
Class Input
java.lang.Object
org.extex.interpreter.type.AbstractCode
org.extex.unit.base.file.AbstractFileCode
org.extex.unit.tex.file.Input
- All Implemented Interfaces:
- java.io.Serializable, Code, ExpandableCode
public class Input
- extends AbstractFileCode
- implements ExpandableCode
This class provides an implementation for the primitive \input.
It uses the standard encoding (see token register \fileencoding
and extex.encoding.
The Primitive \input
The primitive \input takes as argument one file name and opens
this file for reading. The following tokens are taken from this input stream.
Thus the effect is as if the file contents where copied at the place of the
primitive.
If the file can not be opened for reading then an error is raised.
The primitive also makes provisions that the information in
\inputfilename and \inputlineno are set properly.
Syntax
The formal description of this primitive is the following:
〈input〉
→ \input 〈file name〉
Examples
The traditional version of the file name parsing allows the following syntax:
\input file.name
If the parsing is not configured to be strict then the following syntax is
allowed as well:
\input{file.name}
- Version:
- $Revision: 4441 $
- Author:
- Gerd Neugebauer, Michael Niedermair
- See Also:
- Serialized Form
|
Field Summary |
protected static long |
serialVersionUID
The constant 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 constant serialVersionUID contains the id for
serialization.
- See Also:
- Constant Field Values
Input
public Input(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)