The yodl
program is reads one or more input files, interprets the commands
therein, and writes one output file. The program is started as:
yodl
flags inputfile [inputfile...]
-D
name: Defines name as a symbol. This flag is similar
to the DEFINESYMBOL
statement which may appear in the text. The
purpose of defining symbols is described later.
-I
directory: This defines the system-wide include directory
where yodl
searches for its input files when they cannot be located by
their bare name. E.g. a statement to include a given file:
INCLUDEFILE(latex)
will search for the file latex
in the current directory, and when that
fails, in the system-wide include directory. The system-wide include
directory is typically the place where the maintainer of a system stores
macro-files for Yodl. This searching process applies to files that are
included inside a document but also applies to filenames on the command
line when invoking the yodl
program.
The name of the included file (latex
in the above example) is the bare
name, the yodl
program will supply a default extension if necessary.
The -I
flag overrules Yodl's built-in name for the system-wide include
directory. The built-in name is defined when compiling Yodl, and is usually
/usr/local/lib/yodl
.
-l
number: This flag controls the live data policy;
number is default 0. This means that macros that can access your
operating system (these are the macros SYSTEM
and PIPETHROUGH
) are
disabled. The number valuse can be:
-l3
only when a document has proven `unharmful'.
These macros are further discussed in the sections ?? (the
SYSTEM
macro) and ?? (the PIPETHROUGH macro).
-o
file: This option causes Yodl to write its output to
file. By default, the output goes to the standard output stream. E.g.,
you can use the yodl
program to read a file input
and to write to
output
with the following two commands:
yodl input > output yodl -ooutput input
-P
cmd: This flag `pre-loads' the string cmd
to the
yodl
processor. It is as if the cmd
were before any actual input.
More than one -P
cmd flags may be present on the command line.
Each of the commands is sent to the processor before any input is read.
-p
maxpass: This flag causes Yodl to abort when the number of
parsing cycles exceeds maxpass, which is usually 20. Exceeding this
number usually means a circular definition somewhere in the document. This
is the case when, e.g., a macro a
expands to b
, and b
expands
again to a
. Alternatively, the maxpass cycle can be exceeded when
a file a.yo
includes b.yo
, while b.yo
includes a.yo
etc..
-t
: This flag enables tracing: while parsing, Yodl writes its
output to the standard error stream. As is the case with the -k
flag,
this option is for debugging purposes.
-v
: This flag increases Yodl's `verbosity level' and may occur
more than once. The presence of one -v
causes Yodl to show which files
are parsed; four -v
's show the inner workings of Yodl's lexical
analyzer.
-w
: The presence of this flag caused Yodl to warn when, e.g.,
symbols are redefined.
The inputfile elements on the command line specify which files Yodl should
process. All names are supplied with an extension (this extension is
defined in the installation of Yodl and is usually .yo
). The files are then
searched for `as-is', or in the system-wide include directory.
Note that all filenames on the command line are input files. To define an
output file, either use the -o
flag or redirect the output.
Please send Yodl questions and comments to yodl@icce.rug.nl.
Please send comments on these web pages to (address unknown)
Copyright (c) 1997, 1998, 1999 Karel Kubat and Jan Nieuwenhuizen.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.