Thanks to John Darrington for review.
(@samp{.}).
@example
-subcommand ::= sbc-options ID sbc-defn
-sbc-options ::=
- ::= sbc-option
- ::= sbc-options sbc-options
-sbc-option ::= *
- ::= +
- ::= ^
+subcommand ::= default-opt arity-opt ID sbc-defn
+default-opt ::=
+ ::= *
+arity-opt ::=
+ ::= +
+ ::= ^
sbc-defn ::= opt-prefix = specifiers
::= [ ID ] = array-sbc
::= opt-prefix = sbc-special-form
::= ( ID )
@end example
-Each subcommand can be prefixed with one or more option characters. An
-asterisk (@samp{*}) is used to indicate the default subcommand; the
-keyword used for the default subcommand can be omitted in the PSPP
-syntax file. A plus sign (@samp{+}) is used to indicate that a
-subcommand can appear more than once; if it is not present then that
-subcommand can appear no more than once.
-A carat sign (@samp{^}) is used to indicate that a subcommand must appear
-at least once.
+A subcommand that begins with an asterisk (@samp{*}) is the default
+subcommand. The keyword used for the default subcommand can be omitted
+in the PSPP syntax file.
-The subcommand name appears after the option characters.
+A plus sign (@samp{+}) indicates that a subcommand can appear more than
+once. A caret (@samp{^}) indicate that a subcommand must appear exactly
+once. A subcommand marked with neither character may appear once or not
+at all, but not more than once.
+
+The subcommand name appears after the leading option characters.
There are three forms of subcommands. The first and most common form
simply gives an equals sign (@samp{=}) and a list of specifiers, which
+Sat Jul 1 17:39:40 2006 Ben Pfaff <blp@gnu.org>
+
+ Fix bug #11612, "q2c documentation does not agree with code".
+
+ * list.q: Audit use of q2c "+" prefixes that indicate that a
+ command may appear multiple times.
+
Sat Jul 1 20:44:22 2006 Ben Pfaff <blp@gnu.org>
Fix bug #15786: System File Creation crashes if directoy is
list (lst_):
*variables=varlist("PV_NO_SCRATCH");
cases=:from n:first,"%s>0"/by n:step,"%s>0"/ *to n:last,"%s>0";
- format=numbering:numbered/!unnumbered,
- wrap:!wrap/single,
- weight:weight/!noweight.
+ +format=numbering:numbered/!unnumbered,
+ wrap:!wrap/single,
+ weight:weight/!noweight.
*/
/* (declarations) */
/* (functions) */
+Sat Jul 1 17:40:38 2006 Ben Pfaff <blp@gnu.org>
+
+ Fix bug #11612, "q2c documentation does not agree with code".
+
+ * q2c.c (parse_subcommand): Make "+" mean ARITY_MANY, absence
+ mean ARITY_ONCE_ONLY.
+
Tue Jul 4 09:45:12 2006 Ben Pfaff <blp@gnu.org>
Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support
static void
parse_subcommand (subcommand *sbc)
{
- sbc->arity = ARITY_MANY;
-
if (match_token ('*'))
{
if (def)
def = sbc;
}
+ sbc->arity = ARITY_ONCE_ONLY;
if ( match_token('+'))
- sbc->arity = ARITY_ONCE_ONLY ;
+ sbc->arity = ARITY_MANY;
else if (match_token('^'))
sbc->arity = ARITY_ONCE_EXACTLY ;
+Sat Jul 1 17:41:46 2006 Ben Pfaff <blp@gnu.org>
+
+ Fix bug #11612, "q2c documentation does not agree with code".
+
+ * examine.q: Audit use of q2c "+" prefixes that indicate that a
+ command may appear multiple times.
+
+ * frequencies.q: Ditto.
+
+ * oneway.q: Ditto.
+
+ * regression.q: Ditto.
+
+ * t-test.q: Ditto.
+
Fri Jun 23 14:18:22 2006 Ben Pfaff <blp@gnu.org>
Support long string variables on FREQUENCIES, as
/* (specification)
"CORRELATIONS" (cor_):
*variables=custom;
- +missing=miss:!pairwise/listwise,
- inc:include/exclude;
+ missing=miss:!pairwise/listwise,
+ inc:include/exclude;
+print=tail:!twotail/onetail,
sig:!sig/nosig;
+format=fmt:!matrix/serial;
crosstabs (crs_):
*^tables=custom;
+variables=custom;
- +missing=miss:!table/include/report;
+ missing=miss:!table/include/report;
+write[wr_]=none,cells,all;
+format=fmt:!labels/nolabels/novallabs,
val:!avalue/dvalue,
*^variables=custom;
+total=custom;
+nototal=custom;
- +missing=miss:pairwise/!listwise,
- rep:report/!noreport,
- incl:include/!exclude;
+ missing=miss:pairwise/!listwise,
+ rep:report/!noreport,
+ incl:include/!exclude;
+compare=cmp:variables/!groups;
+percentiles=custom;
+id=var;
/* (specification)
FREQUENCIES (frq_):
- *variables=custom;
- format=cond:condense/onepage(*n:onepage_limit,"%s>=0")/!standard,
- table:limit(n:limit,"%s>0")/notable/!table,
- labels:!labels/nolabels,
- sort:!avalue/dvalue/afreq/dfreq,
- spaces:!single/double,
- paging:newpage/!oldpage;
+ *+variables=custom;
+ +format=cond:condense/onepage(*n:onepage_limit,"%s>=0")/!standard,
+ table:limit(n:limit,"%s>0")/notable/!table,
+ labels:!labels/nolabels,
+ sort:!avalue/dvalue/afreq/dfreq,
+ spaces:!single/double,
+ paging:newpage/!oldpage;
missing=miss:include/!exclude;
barchart(ba_)=:minimum(d:min),
:maximum(d:max),
scale:freq(*n:freq,"%s>0")/percent(*n:pcnt,"%s>0"),
norm:!nonormal/normal,
incr:increment(d:inc,"%s>0");
- grouped=custom;
- ntiles=integer;
+ +grouped=custom;
+ +ntiles=integer;
+percentiles = double list;
- statistics[st_]=1|mean,2|semean,3|median,4|mode,5|stddev,6|variance,
- 7|kurtosis,8|skewness,9|range,10|minimum,11|maximum,12|sum,
- 13|default,14|seskewness,15|sekurtosis,all,none.
+ +statistics[st_]=1|mean,2|semean,3|median,4|mode,5|stddev,6|variance,
+ 7|kurtosis,8|skewness,9|range,10|minimum,11|maximum,12|sum,
+ 13|default,14|seskewness,15|sekurtosis,all,none.
*/
/* (declarations) */
/* (functions) */
name:!names/nonames,
val:!values/novalues,
fmt:!table/tree;
- +missing=miss:!table/include/dependent;
+ missing=miss:!table/include/dependent;
+cells[cl_]=default,count,sum,mean,stddev,variance,all;
+statistics[st_]=anova,linearity,all,none.
*/
/* (specification)
"ONEWAY" (oneway_):
*^variables=custom;
- +missing=miss:!analysis/listwise,
- incl:include/!exclude;
- contrast= double list;
- statistics[st_]=descriptives,homogeneity.
+ missing=miss:!analysis/listwise,
+ incl:include/!exclude;
+ +contrast= double list;
+ +statistics[st_]=descriptives,homogeneity.
*/
/* (declarations) */
/* (functions) */
+n=custom;
+savage=custom;
+print=print:!yes/no;
- +missing=miss:!exclude/include.
+ missing=miss:!exclude/include.
*/
/* (declarations) */
/* (functions) */
/* (specification)
"REGRESSION" (regression_):
*variables=custom;
- statistics[st_]=r,
- coeff,
- anova,
- outs,
- zpp,
- label,
- sha,
- ci,
- bcov,
- ses,
- xtx,
- collin,
- tol,
- selection,
- f,
- defaults,
- all;
+ +statistics[st_]=r,
+ coeff,
+ anova,
+ outs,
+ zpp,
+ label,
+ sha,
+ ci,
+ bcov,
+ ses,
+ xtx,
+ collin,
+ tol,
+ selection,
+ f,
+ defaults,
+ all;
export=custom;
^dependent=varlist;
- save[sv_]=resid,pred;
- method=enter.
+ +save[sv_]=resid,pred;
+ +method=enter.
*/
/* (declarations) */
/* (functions) */
"T-TEST" (tts_):
+groups=custom;
testval=double;
- variables=varlist("PV_NO_SCRATCH | PV_NUMERIC");
- pairs=custom;
- +missing=miss:!analysis/listwise,
- incl:include/!exclude;
- format=fmt:!labels/nolabels;
+ +variables=varlist("PV_NO_SCRATCH | PV_NUMERIC");
+ +pairs=custom;
+ missing=miss:!analysis/listwise,
+ incl:include/!exclude;
+ +format=fmt:!labels/nolabels;
criteria=:cin(d:criteria,"%s > 0. && %s < 1.").
*/
/* (declarations) */