X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Flexer%2Fsegment.at;h=22d1bdee5b79cd8aed834b76227d607ea5887104;hb=545089869bb14cd65b2eaabe9876c4f2f9f1f7d5;hp=fd7e66bf4efe2ae606de74ac2728ed638e3ccc25;hpb=691a034d7f2139076fa012739dffd40ef5db4a9b;p=pspp diff --git a/tests/language/lexer/segment.at b/tests/language/lexer/segment.at index fd7e66bf4e..22d1bdee5b 100644 --- a/tests/language/lexer/segment.at +++ b/tests/language/lexer/segment.at @@ -1,24 +1,31 @@ dnl PSPP - a program for statistical analysis. dnl Copyright (C) 2017 Free Software Foundation, Inc. -dnl +dnl dnl This program is free software: you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation, either version 3 of the License, or dnl (at your option) any later version. -dnl +dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. -dnl +dnl dnl You should have received a copy of the GNU General Public License dnl along with this program. If not, see . -dnl AT_BANNER([syntax segmentation]) +dnl +AT_BANNER([syntax segmentation]) m4_define([PSPP_CHECK_SEGMENT], - [AT_CHECK([segment-test $1 input], [0], [expout]) - AT_CHECK([segment-test -1 $1 input], [0], [expout]) - AT_CHECK([segment-test -0 $1 input]) - AT_CHECK([segment-test -01 $1 input])]) + [for strip in "" "-s"; do + case $strip in # ( + '') sed 's/^-//' < expout-base > expout ;; # ( + -s) sed '/^-/d' < expout-base > expout ;; + esac + AT_CHECK([segment-test $1 $strip input], [0], [expout]) + AT_CHECK([segment-test -1 $strip $1 input], [0], [expout]) + AT_CHECK([segment-test -0 $strip $1 input]) + AT_CHECK([segment-test -01 $strip $1 input]) + done]) AT_SETUP([identifiers]) AT_KEYWORDS([segment]) @@ -35,7 +42,7 @@ f@#_.#6 GhIjK .x 1y _z ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl identifier a space identifier ab space identifier abc space @@ -96,9 +103,9 @@ number 1 identifier y space unexpected_char \_ identifier z -newline \n (later) - -end +-newline \n (later) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -124,7 +131,7 @@ wxyz./* unterminated end of line comment WXYZ. /* unterminated end of line comment WxYz./* unterminated end of line comment @&t@ ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl identifier abcd. space identifier abcd end_command . @@ -202,9 +209,9 @@ newline \n (first) identifier WxYz end_command . comment /*_unterminated_end_of_line_comment_ -newline \n (first) - -end +-newline \n (first) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -217,7 +224,7 @@ AND OR NOT EQ GE GT LE LT NE ALL BY TO WITH andx orx notx eqx gex gtx lex ltx nex allx byx tox withx and. with. ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl reserved_word and space reserved_word or space reserved_word not space @@ -266,9 +273,9 @@ newline \n (later) identifier and. space reserved_word with end_command . -newline \n (first) - -end +-newline \n (first) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -279,7 +286,7 @@ AT_DATA([input], [dnl ~ & | = >= > <= < ~= <> ( ) , - + * / [[ ]] ** ~&|=>=><=<~=<>(),-+*/[[]]** ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl punct ~ space punct & space punct | space @@ -322,9 +329,9 @@ punct / punct [[ punct ]] punct ** -newline \n (later) - -end +-newline \n (later) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -340,7 +347,7 @@ AT_DATA([input], [dnl 1.23e1 45.6E-1 78.9e+1 99.9E+01 11.2e-03 . 1e e1 1e+ 1e- ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl number 0 space number 1 space number 01 space @@ -389,9 +396,9 @@ expected_exponent 1e space identifier e1 space expected_exponent 1e+ space expected_exponent 1e- -newline \n (later) - -end +-newline \n (later) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -412,7 +419,7 @@ u'fffd' U"041" + /* also a punctuator on blank line - 'new command' ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl quoted_string 'x' space quoted_string "y" space quoted_string 'abc' @@ -461,9 +468,9 @@ newline \n (later) start_command - space quoted_string 'new_command' -newline \n (later) - -end +-newline \n (later) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -475,7 +482,7 @@ AT_DATA([input], [dnl title my title. #! /usr/bin/pspp ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl shbang #!_/usr/bin/pspp newline \n (first) @@ -492,9 +499,9 @@ punct / identifier bin punct / identifier pspp -newline \n (later) - -end +-newline \n (later) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -519,7 +526,7 @@ com is ambiguous with COMPUTE. next command. ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl comment_command *_Comment_commands_"don't newline \n (COMMENT) @@ -557,7 +564,7 @@ identifier COMPUTE end_command . newline \n (first) -separate_commands +separate_commands newline \n (first) spaces ___ @@ -565,7 +572,7 @@ comment_command *_Comment_need_not_start_at_left_margin end_command . newline \n (first) -separate_commands +separate_commands newline \n (first) comment_command *_Comment_ends_with_blank_line @@ -579,10 +586,10 @@ identifier command end_command . newline \n (first) -separate_commands -newline \n (first) - -end +-separate_commands +-newline \n (first) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -601,10 +608,10 @@ isn't parsed as tokens second paragraph. ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl start_document document DOCUMENT_one_line. -end_command +end_command separate_commands newline \n (first) @@ -619,7 +626,7 @@ document ________one newline \n (DOCUMENT) document ____________line. -end_command +end_command separate_commands newline \n (first) @@ -637,11 +644,11 @@ document newline \n (DOCUMENT) document second_paragraph. -end_command -separate_commands -newline \n (first) - -end +-end_command +-separate_commands +-newline \n (first) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -665,7 +672,7 @@ FILE /* /**/ lab not quoted here either ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl identifier title comment /**/ quoted_string 'Quoted_string_title' @@ -727,10 +734,10 @@ identifier lab space unquoted_string not_quoted_here_either newline \n (later) -separate_commands -newline \n (first) - -end +-separate_commands +-newline \n (first) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -762,7 +769,7 @@ begin data "xxx". begin data 123. not data ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl identifier begin space identifier data end_command . @@ -805,7 +812,7 @@ newline \n (data) inline_data 5_6_7_/*_x newline \n (data) -inline_data +inline_data newline \n (data) inline_data end__data @@ -853,9 +860,9 @@ newline \n (first) reserved_word not space identifier data -newline \n (later) - -end +-newline \n (later) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -877,7 +884,7 @@ do inner command. end repeat. ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl identifier do space identifier repeat space identifier x @@ -935,9 +942,9 @@ newline \n (DO REPEAT) identifier end space identifier repeat end_command . -newline \n (first) - -end +-newline \n (first) +- +end ]) PSPP_CHECK_SEGMENT([-i]) AT_CLEANUP @@ -953,7 +960,7 @@ third command fourth command. fifth command. ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl identifier first space identifier command newline \n (later) @@ -989,9 +996,9 @@ spaces ___ identifier fifth space identifier command end_command . -newline \n (first) - -end +-newline \n (first) +- +end ]) PSPP_CHECK_SEGMENT([-b]) AT_CLEANUP @@ -1013,7 +1020,7 @@ twostep cluster fourth command. fifth command. ]) -AT_DATA([expout], [dnl +AT_DATA([expout-base], [dnl identifier command newline \n (later) @@ -1079,9 +1086,9 @@ spaces ___ identifier fifth space identifier command end_command . -newline \n (first) - -end +-newline \n (first) +- +end ]) PSPP_CHECK_SEGMENT([-a]) AT_CLEANUP