int outfile_start = 0;
int outfile_end = 0;
- while (lex_token (lexer) != T_ENDCMD)
+ lex_match (lexer, T_SLASH);
+ for (;;)
{
- if (!lex_force_match (lexer, T_SLASH))
- goto error;
-
if (lex_match_id (lexer, "OUTFILE"))
{
outfile_start = lex_ofs (lexer) - 1;
}
else if (!parse_dict_trim (lexer, dict))
goto error;
+
+ if (lex_token (lexer) == T_ENDCMD)
+ break;
+
+ if (!lex_force_match (lexer, T_SLASH))
+ goto error;
}
if (type == 0)
filter(F1.0).
MISSING VALUES number(0) time('0 12:00') string('xyzzy').
FILTER BY filter.
-SAVE TRANSLATE /OUTFILE="data.csv" /TYPE=m4_if([$2], [], [CSV], [$2])
+SAVE TRANSLATE OUTFILE="data.csv" /TYPE=m4_if([$2], [], [CSV], [$2])
$1.
])
AT_CHECK([pspp -O format=csv save-translate.pspp], [0])
SAVE TRANSLATE/DROP=ALL.
SAVE TRANSLATE/DROP=**.
SAVE TRANSLATE/KEEP=**.
+SAVE TRANSLATE/OUTFILE='xyzzy.txt' **.
])
AT_CHECK([pspp -O format=csv save-translate.sps], [1], [dnl
-"save-translate.sps:2.16-2.17: error: SAVE TRANSLATE: Syntax error expecting `/'.
+"save-translate.sps:2.16-2.17: error: SAVE TRANSLATE: Syntax error expecting MAP, DROP, KEEP, or RENAME.
2 | SAVE TRANSLATE **.
| ^~"
"save-translate.sps:35.21-35.22: error: SAVE TRANSLATE: Syntax error expecting variable name.
35 | SAVE TRANSLATE/KEEP=**.
| ^~"
+
+"save-translate.sps:36.36-36.37: error: SAVE TRANSLATE: Syntax error expecting `/'.
+ 36 | SAVE TRANSLATE/OUTFILE='xyzzy.txt' **.
+ | ^~"
])
AT_CLEANUP