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...]
In this specification, the flags are optional and may be:
  • -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:

  • 0: (the default): No potentially harmful macros are allowed.

  • 1: The macros can be executed, but only after user confirmation is obtained. The macros in question are shown while the Yodl document is processed.

  • 2: The macros are executed, but also shown during the Yodl run.

  • 3: The macros are executed, and not shown during the run. Use -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.


    Go back to index of Yodl.

    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.


    This page was built from Yodl-1.31.18 by

    <(address unknown)>, Thu Jul 24 13:52:51 2003 CEST.