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
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}
|