AT_SETUP([identifiers])
AT_KEYWORDS([segment])
AT_DATA([input], [dnl
-a ab abc abcd
-A AB ABC ABCD
-aB aBC aBcD
-$x $y $z
+a ab abc abcd !abcd
+A AB ABC ABCD !ABCD
+aB aBC aBcD !aBcD
+$x $y $z !$z
grève@<00A0>@Ângstrom@<00A0>@poté
-#a #b #c ## #d
-@efg @ @@. @#@ @&t@
+#a #b #c ## #d !#d
+@efg @ @@. @#@ !@ @&t@
## # #12345 #.#
f@#_.#6
GhIjK
identifier a space
identifier ab space
identifier abc space
-identifier abcd
+identifier abcd space
+macro_id !abcd
newline \n (later)
identifier A space
identifier AB space
identifier ABC space
-identifier ABCD
+identifier ABCD space
+macro_id !ABCD
newline \n (later)
identifier aB space
identifier aBC space
-identifier aBcD
+identifier aBcD space
+macro_id !aBcD
newline \n (later)
identifier $x space
identifier $y space
-identifier $z
+identifier $z space
+macro_id !$z
newline \n (later)
identifier grève
identifier #b space
identifier #c space
identifier ## space
-identifier #d
+identifier #d space
+macro_id !#d
newline \n (later)
identifier @efg space
identifier @ space
identifier @@. space
identifier @#@ space
+macro_id !@ space
newline \n (later)
identifier ## space
5e1 6E-1 7e+1 6E+01 6e-03
.3E1 .4e-1 .5E+1 .6e+01 .7E-03
1.23e1 45.6E-1 78.9e+1 99.9E+01 11.2e-03
-. 1e e1 1e+ 1e-
+. 1e e1 1e+ 1e- 1.
])
AT_DATA([expout-base], [dnl
number 0 space
expected_exponent 1e space
identifier e1 space
expected_exponent 1e+ space
-expected_exponent 1e-
--newline \n (later)
+expected_exponent 1e- space
+number 1
+end_command .
+-newline \n (first)
-
end
])
newline \n (first)
identifier #
-unexpected_char ! space
+macro_id ! space
punct /
identifier usr
punct /
PSPP_CHECK_SEGMENT([-i])
AT_CLEANUP
\f
+AT_SETUP([DO REPEAT command in batch mode])
+AT_KEYWORDS([segment])
+AT_DATA([input], [dnl
+do repeat x=a b c
+ y=d e f
+do repeat a=1 thru 5
+another command
+second command
++ third command
+end /* x */ /* y */ repeat print
+end
+ repeat
+do
+ repeat #a=1
+
+ inner command
+end repeat
+])
+AT_DATA([expout-base], [dnl
+identifier do space
+identifier repeat space
+identifier x
+punct =
+identifier a space
+identifier b space
+identifier c
+newline \n (later)
+
+spaces __________
+identifier y
+punct =
+identifier d space
+identifier e space
+identifier f
+newline \n (later)
+
+start_command
+do_repeat_command do_repeat_a=1_thru_5
+newline \n (DO REPEAT)
+
+do_repeat_command another_command
+newline \n (DO REPEAT)
+
+do_repeat_command second_command
+newline \n (DO REPEAT)
+
+do_repeat_command +_third_command
+newline \n (DO REPEAT)
+
+do_repeat_command end_/*_x_*/_/*_y_*/_repeat_print
+newline \n (DO REPEAT)
+
+identifier end
+newline \n (later)
+ space
+identifier repeat
+newline \n (later)
+
+start_command
+identifier do
+newline \n (later)
+
+spaces __
+identifier repeat space
+identifier #a
+punct =
+number 1
+newline \n (later)
+
+separate_commands
+newline \n (DO REPEAT)
+
+do_repeat_command __inner_command
+newline \n (DO REPEAT)
+
+identifier end space
+identifier repeat
+-newline \n (later)
+-
+end
+])
+PSPP_CHECK_SEGMENT([-b])
+AT_CLEANUP
+\f
AT_SETUP([batch mode])
AT_KEYWORDS([segment])
AT_DATA([input], [dnl