X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fflow-control.texi;h=c0931f1bcedca679601d48545da52e0e9f904fab;hb=f64e4aa7e0d79679631bab72721d55a304ba5a82;hp=d74a83b5735e25c656928643b73b38734ed370a6;hpb=42af8d7afa39c0277071aac1fb90d59235465fa8;p=pspp diff --git a/doc/flow-control.texi b/doc/flow-control.texi index d74a83b573..c0931f1bce 100644 --- a/doc/flow-control.texi +++ b/doc/flow-control.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017, 2020 Free Software Foundation, Inc. +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 +@c or any later version published by the Free Software Foundation; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Conditionals and Looping @chapter Conditional and Looping Constructs @@ -108,18 +117,21 @@ strings, comments, unquoted strings (such as the text on the @cmd{TITLE} or @cmd{DOCUMENT} command), or inside @cmd{BEGIN DATA}@dots{}@cmd{END DATA}. +Substitution occurs only on whole words, so that, for example, a dummy +variable PRINT would not be substituted into the word PRINTOUT. + New variable names used as replacements are not automatically created as variables, but only if used in the code block in a context that -would create them, e.g.@: on a @cmd{NUMERIC} or @cmd{STRING} command +would create them, @i{e.g.}@: on a @cmd{NUMERIC} or @cmd{STRING} command or on the left side of a @cmd{COMPUTE} assignment. Any command may appear within @subcmd{DO REPEAT}, including nested @subcmd{DO REPEAT} commands. If @cmd{INCLUDE} or @cmd{INSERT} appears within @subcmd{DO REPEAT}, the substitutions do not apply to the included file. -If @subcmd{PRINT} is specified on @cmd{END REPEAT}, the commands after substitutions -are made are printed to the listing file, prefixed by a plus sign -(@samp{+}). +If @subcmd{PRINT} is specified on @cmd{END REPEAT}, the commands after +substitutions are made should be printed to the listing file, prefixed +by a plus sign (@samp{+}). This feature is not yet implemented. @node LOOP @section LOOP @@ -137,11 +149,11 @@ termination options are offered. Specify index_var to make that variable count from one value to another by a particular increment. @var{index_var} must be a pre-existing numeric variable. @var{start}, @var{end}, and @var{incr} are numeric expressions -(@pxref{Expressions}.) +(@pxref{Expressions}.) During the first iteration, @var{index_var} is set to the value of @var{start}. During each successive iteration, @var{index_var} is increased by the value of -@var{incr}. If @var{end} > @var{start}, then the loop terminates +@var{incr}. If @var{end} > @var{start}, then the loop terminates when @var{index_var} > @var{end}; otherwise it terminates when @var{index_var} < @var{end}. If @var{incr} is not specified then it defaults to +1 or -1 as appropriate. @@ -170,9 +182,11 @@ code block is executed. The condition is evaluated at the end of the loop, not at the beginning, so that the body of a loop with only a condition on @cmd{END LOOP} will always execute at least once. -If neither the index clause nor either condition clause is -present, then the loop is executed MXLOOPS (@pxref{SET}) times. -The default MXLOOPS is 40. +If the index clause is not +present, then the loop is executed at most @var{max_loops} (@pxref{SET}) times +(but possibly fewer, if a condition clause evaluates to false or if +@cmd{BREAK} executes). +The default value of @var{max_loops} is 40. @cmd{BREAK} also terminates @cmd{LOOP} execution (@pxref{BREAK}).