X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/85f0b29e6d2d1c8a49df9f378e2979c043a47827..2b45240d6c1b9177533aa5d83ac1c879198111c5:/tests/calc.at diff --git a/tests/calc.at b/tests/calc.at index 8d0fcb39..f785d6f0 100644 --- a/tests/calc.at +++ b/tests/calc.at @@ -386,11 +386,9 @@ AT_YYERROR_SEES_LOC_IF([ fprintf (stderr, ": ");]) fprintf (stderr, "%s\n", s); }])[ - ]AT_DEFINES_IF([], [AT_CALC_LEX -AT_CALC_MAIN])[ -]]) +AT_CALC_MAIN])]) AT_DEFINES_IF([AT_DATA_SOURCE([[calc-lex.c]AT_SKEL_CC_IF([[c]])], [[#include "calc.h]AT_SKEL_CC_IF([[h]])[" @@ -500,6 +498,22 @@ AT_CHECK([cat stderr], 0, [expout]) ]) +# AT_CHECK_SPACES([FILE]) +# ----------------------- +# Make sure we did not introduce bad spaces. Checked here because all +# the skeletons are (or should be) exercized here. +m4_define([AT_CHECK_SPACES], +[# No initial empty lines. +AT_CHECK([sed -ne '/./q;=;p;' $1]) +# No trailing spaces. +AT_CHECK([sed -ne '/[ ]$/{=;p;}' $1]) +# No tabulations. +AT_CHECK([sed -ne '/[ ]/{=;p;}' $1]) +# No final empty lines. +AT_CHECK([sed -ne '${/^$/{=;p;};}' $1]) +]) + + # AT_CHECK_CALC([BISON-OPTIONS]) # ------------------------------ # Start a testing chunk which compiles `calc' grammar with @@ -514,6 +528,8 @@ AT_BISON_OPTION_PUSHDEFS([$1]) AT_DATA_CALC_Y([$1]) AT_FULL_COMPILE([calc], AT_DEFINES_IF([[lex], [main]])) +AT_CHECK_SPACES([calc.AT_SKEL_CC_IF([cc], [c])]) +AT_DEFINES_IF([AT_CHECK_SPACES([calc.AT_SKEL_CC_IF([hh], [h])])]) # Test the priorities. _AT_CHECK_CALC([$1], @@ -720,19 +736,19 @@ AT_CHECK_CALC_LALR1_CC([%defines %locations %pure-parser %define parse.error ver AT_BANNER([[Simple GLR C++ Calculator.]]) # Again, we try also using %skeleton. -AT_CHECK_CALC([%skeleton "glr.cc" %defines]) +AT_CHECK_CALC([%skeleton "glr.cc"]) # AT_CHECK_CALC_GLR_CC([BISON-OPTIONS]) # ------------------------------------- # Start a testing chunk which compiles `calc' grammar with # the GLR C++ skeleton, and performs several tests over the parser. m4_define([AT_CHECK_CALC_GLR_CC], -[AT_CHECK_CALC([%language "C++" %glr-parser %defines %locations] $@)]) +[AT_CHECK_CALC([%language "C++" %glr-parser] $@)]) AT_CHECK_CALC_GLR_CC([]) AT_CHECK_CALC_GLR_CC([%locations]) AT_CHECK_CALC_GLR_CC([%locations %define location_type Span]) -AT_CHECK_CALC_GLR_CC([%define parse.error verbose %name-prefix "calc" %verbose %yacc]) +AT_CHECK_CALC_GLR_CC([%defines %define parse.error verbose %name-prefix "calc" %verbose %yacc]) AT_CHECK_CALC_GLR_CC([%define parse.error verbose %define api.prefix "calc" %verbose %yacc]) AT_CHECK_CALC_GLR_CC([%debug]) @@ -741,5 +757,5 @@ AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc" %ve AT_CHECK_CALC_GLR_CC([%pure-parser %define parse.error verbose %debug %name-prefix "calc" %verbose %yacc]) AT_CHECK_CALC_GLR_CC([%pure-parser %define parse.error verbose %debug %name-prefix "calc" %define api.tokens.prefix "TOK_" %verbose %yacc]) -AT_CHECK_CALC_GLR_CC([%locations %pure-parser %define parse.error verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} {int *count}]) -AT_CHECK_CALC_GLR_CC([%locations %pure-parser %define parse.error verbose %debug %define api.prefix "calc" %verbose %yacc %parse-param {semantic_value *result} {int *count}]) +AT_CHECK_CALC_GLR_CC([%locations %defines %pure-parser %define parse.error verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} {int *count}]) +AT_CHECK_CALC_GLR_CC([%locations %defines %pure-parser %define parse.error verbose %debug %define api.prefix "calc" %verbose %yacc %parse-param {semantic_value *result} {int *count}])