X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Flanguage.texi;h=e23a558028805dbc9babcb360811d34c87258434;hb=HEAD;hp=398f7642318ede8f973bac881479c718775ba5a2;hpb=4e30d33a680cceb0ac2ee3e78c94fdeb46ab2fcd;p=pspp-builds.git diff --git a/doc/language.texi b/doc/language.texi index 398f7642..e23a5580 100644 --- a/doc/language.texi +++ b/doc/language.texi @@ -3,11 +3,9 @@ @cindex language, PSPP @cindex PSPP, language -@quotation -@strong{Please note:} PSPP is not even close to completion. +@note{PSPP is not even close to completion. Only a few statistical procedures are implemented. PSPP -is a work in progress. -@end quotation +is a work in progress.} This chapter discusses elements common to many PSPP commands. Later chapters will describe individual commands in detail. @@ -15,6 +13,7 @@ Later chapters will describe individual commands in detail. @menu * Tokens:: Characters combine to form tokens. * Commands:: Tokens combine to form commands. +* Syntax Variants:: Batch vs. Interactive mode * Types of Commands:: Commands come in several flavors. * Order of Commands:: Commands combine to form syntax files. * Missing Observations:: Handling missing observations. @@ -24,6 +23,7 @@ Later chapters will describe individual commands in detail. * BNF:: How command syntax is described. @end menu + @node Tokens @section Tokens @cindex language, lexical analysis @@ -188,15 +188,34 @@ one that consists only of white space or comments, also ends a command by default, although you can use the NULLINE subcommand of @cmd{SET} to disable this feature (@pxref{SET}). -In batch mode only, that is, when reading commands from a file instead -of an interactive user, any line that contains a non-space character -in the leftmost column begins a new command. Thus, each command -consists of a flush-left line followed by any number of lines indented -from the left margin. In this mode, a plus or minus sign -(@samp{+}, @samp{@minus{}}) as the first character -in a line is ignored and causes that line to begin a new command, -which allows for visual indentation of a command without that command -being considered part of the previous command. +@node Syntax Variants +@section Variants of syntax. + +@cindex Batch syntax +@cindex Interactive syntax + +There are two variants of command syntax, @i{viz}: @dfn{batch} mode and +@dfn{interactive} mode. +Batch mode is the default when reading commands from a file. +Interactive mode is the default when commands are typed at a prompt +by a user. +Certain commands, such as @cmd{INSERT} (@pxref{INSERT}), may explicitly +change the syntax mode. + +In batch mode, any line that contains a non-space character +in the leftmost column begins a new command. +Thus, each command consists of a flush-left line followed by any +number of lines indented from the left margin. +In this mode, a plus or minus sign (@samp{+}, @samp{@minus{}}) as the +first character in a line is ignored and causes that line to begin a +new command, which allows for visual indentation of a command without +that command being considered part of the previous command. +The period terminating the end of a command is optional but recommended. + +In interactive mode, each command must either be terminated with a period, +or an empty line must follow the command. +The use of (@samp{+} and @samp{@minus{}} as continuation characters is not +permitted. @node Types of Commands @section Types of Commands @@ -360,9 +379,7 @@ spaces. Variables, whether numeric or string, can have designated @dfn{user-missing values}. Every user-missing value is an actual value for that variable. However, most of the time user-missing values are -treated in the same way as the system-missing value. String variables -that are wider than a certain width, usually 8 characters (depending on -computer architecture), cannot have user-missing values. +treated in the same way as the system-missing value. For more information on missing values, see the following sections: @ref{Variables}, @ref{MISSING VALUES}, @ref{Expressions}. See also the @@ -428,13 +445,9 @@ Numeric or string. @item Width (string variables only) String variables with a width of 8 characters or fewer are called @dfn{short string variables}. Short string variables -can be used in many procedures where @dfn{long string variables} (those +may be used in a few contexts where @dfn{long string variables} (those with widths greater than 8) are not allowed. -Certain systems may consider strings longer than 8 -characters to be short strings. Eight characters represents a minimum -figure for the maximum length of a short string. - @item Position Variables in the dictionary are arranged in a specific order. @cmd{DISPLAY} can be used to show this order: see @ref{DISPLAY}. @@ -476,6 +489,11 @@ they are displayed. Example: a width of 8, with 2 decimal places. @item Write format Similar to print format, but used by the @cmd{WRITE} command (@pxref{WRITE}). + +@cindex custom attributes +@item Custom attributes +User-defined associations between names and values. @xref{VARIABLE +ATTRIBUTE}. @end table @node System Variables @@ -1146,6 +1164,7 @@ trailing white space. The maximum width for time and date formats is 40 columns. Minimum input and output width for each of the time and date formats is shown below: + @float @multitable {DATETIME} {Min. Input Width} {Min. Output Width} {4-digit year} @headitem Format @tab Min. Input Width @tab Min. Output Width @tab Option @@ -1467,4 +1486,3 @@ The first nonterminal defined in a set of productions is called the @dfn{start symbol}. The start symbol defines the entire syntax for that command. @end itemize -@setfilename ignored