Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
6.1 KiB

2 years ago
\chapter{Execution}\label{ch:execution}
\section{Aprepro Execution and Program Options}
\aprepro{} is executed with the command:
\begin{apinp}
aprepro [--parameters] [-dsviehMWCq] [-I path] [-c char] [var=val] filein fileout
\end{apinp}
The effects of the parameters are:
\begin{longtable}{lp{5.0in}}
--debug (-d) & Dump all variables, debug loops/if/endif \\
--dumpvars (-D) & Dump all variables at end of run \\
--dumpvars\_json (-J) & Dump all variables at end of run in json format \\
--version (-v) & Print version number to stderr \\
--comment char (-c char) & Change comment character to 'char' \\
--immutable (-X) & All variables are immutable--cannot be modified \\
--errors\_fatal (-f) & Exit program with nonzero status if errors are encountered \\
--errors\_and\_warnings\_fatal (-F) & Exit program with nonzero status if warnings are encountered \\
--require\_defined (-R) & Treat undefined variable warnings as fatal \\
--interactive (-i) & Interactive use, no buffering of output. \\
--include path (-I path) & Include file or include path. Any variables defined in the include file will be immutable.\\
--one\_based\_index (-1) & Array indexing is one-based (default = zero-based) \\
--exit\_on (-e) & If this is enabled, \aprepro{} will exit when any of the strings
EXIT, Exit, exit, QUIT, Quit, or quit are entered. Otherwise, \aprepro{} will exit at end of
file. \\
--message (-M) & Print INFO messages. (See Chapter~\ref{ch:errors} for a list of INFO messages.) \\
--info=file & Output INFO messages (e.g. DUMP() output) to file. \\
--nowarning (-W) & Do not print warning messages. (See Chapter~\ref{ch:errors} for a list of warning messages.) \\
--copyright (-c) & Print copyright message \\
--quiet (-q) & Do not anything extra to stdout \\
--help (-h) & Print this list \\
var=val & Assign value \var{val} to variable \var{var}. This lets you dynamically set
the value of a variable and change it between runs without editing the
input file. Multiple \textit{var=val} pairs can be specified on the
command line. A variable that is defined on the command line will be
an immutable variable whose value cannot be changed\footnote{Unless
the variable name begins with an underscore.}. If \var{var} is a string variable, then
\var{val} needs to be surrounded by escaped double quotes. For example \cmd{name=\textbackslash{}"My\textbackslash Name\textbackslash{}"} will define the string variable \var{name}.\footnote{Note that any spaces in the string variables value must be escaped also.}\\
input\_file & specifies the file that contains the \aprepro{} input. If this parameter is
omitted, \aprepro{} will run interactively. \\
output\_file & specifies the file \aprepro{} will write the processed data to. If this
parameter is omitted, \aprepro{} will write the data to the terminal. (stdout) \\
\end{longtable}
The \cmd{-} followed by a single letter shown in the parameter descriptions above are optional short-options
that can be specified instead of the long options. For example, the following
two lines are equivalent:
\begin{apinp}
aprepro --debug --nowarning --statistics --comment \#
aprepro -dWsc\#
\end{apinp}
Note that the short options can be concatenated.
\section{Interactive Input}
If no input file is specified when \aprepro{} is executed, then all
input will be read from standard input; or in other words, typed in by
the user. In this mode, there are a few command-line editing and
recall capabilities provided.
The command-line editing provides Emacs style key bindings and
history functionality. The key bindings are shown in the following
table. The syntax \cmd{\^{}X} indicates that the user should press and
hold the ``control'' key and then press the \cmd{X} key. The syntax
\cmd{M-X} indicates pressing the ``meta'' key followed by the \cmd{X}
key. The meta key is sometimes escape, or sometimes ``alt'', or some
other key depending on the users keymap.
\begin{longtable}{lp{4.0in}}
\caption{Key Bindings used in the interactive input to \aprepro{}} \\
\hline
Key & Function \\
\hline
\endhead
\^{}A/\^{}E & Move cursor to beginning/end of the line. \\
\^{}F/\^{}B & Move cursor forward/backward one character. \\
\^{}D & Delete the character under the cursor. \\
\^{}H & Delete the character to the left of the cursor. \\
\^{}K & Kill from the cursor to the end of line. \\
\^{}L & Redraw current line. \\
\^{}O & Toggle overwrite/insert mode. Initially in insert mode. Text
added in overwrite mode (including yanks) overwrite
existing text, while insert mode does not overwrite. \\
\^{}P/\^{}N & Move to previous/next item on history list. \\
\^{}R/\^{}S & Perform incremental reverse/forward search for string on
the history list. Typing normal characters adds to the current
search string and searches for a match. Typing \^{}R/\^{}S marks
the start of a new search, and moves on to the next match.
Typing \^{}H deletes the last character from the search
string, and searches from the starting location of the last search.
Therefore, repeated \^{}H's appear to unwind to the match nearest
the point at which the last \^{}R or \^{}S was typed. If \^{}H is
repeated until the search string is empty the search location
begins from the start of the history list. Typing ESC or
any other editing character accepts the current match and
loads it into the buffer, terminating the search. \\
\^{}T & Toggle the characters under and to the left of the cursor. \\
\^{}U & Kill from beginning to the end of the line. \\
\^{}Y & Yank previously killed text back at current location. Note that
this will overwrite or insert, depending on the current mode. \\
M-F/M-B & Move cursor forward/backward one word. \\
\^{}SPC & Set mark. \\
\^{}W & Kill from mark to point. \\
\^{}X & Exchange mark and point. \\
RETURN & returns current buffer to the program.
\end{longtable}