mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
yacc: remove trailing end of line at end of file
There are still spurious spaces at the end of some lines. But this is addressed in the master branch, and I am reluctant to try to backport this. * data/yacc.c, data/glr.c, data/lalr1.cc, data/glr.cc: here. * tests/calc.at (AT_CHECK_SPACES): New. Use it. Be sure not to introduce trailing empty lines in the *.y files. * NEWS: Doc it. * cfg.mk (syntax-check): Remove the exception.
This commit is contained in:
4
NEWS
4
NEWS
@@ -7,6 +7,10 @@ GNU Bison NEWS
|
||||
Trailing end-of-lines in %parse-param or %lex-param would result in
|
||||
invalid C++. This is fixed.
|
||||
|
||||
** Spurious spaces and end-of-lines
|
||||
|
||||
The generated files no longer end (nor start) with empty lines.
|
||||
|
||||
* Noteworthy changes in release 2.6.1 (2012-07-30) [stable]
|
||||
|
||||
Bison no longer executes user-specified M4 code when processing a grammar.
|
||||
|
||||
1
cfg.mk
1
cfg.mk
@@ -70,7 +70,6 @@ $(call exclude, \
|
||||
prohibit_always-defined_macros+=?|^src/(parse-gram.c|system.h)$$ \
|
||||
prohibit_always-defined_macros+=?|^tests/regression.at$$ \
|
||||
prohibit_defined_have_decl_tests=?|^lib/timevar.c$$ \
|
||||
prohibit_empty_lines_at_EOF=^src/parse-gram.[ch]$$ \
|
||||
prohibit_magic_number_exit=^doc/bison.texi$$ \
|
||||
prohibit_magic_number_exit+=?|^tests/(conflicts|regression).at$$ \
|
||||
require_config_h_first=^(lib/yyerror|data/(glr|yacc))\.c$$ \
|
||||
|
||||
@@ -2599,9 +2599,7 @@ yypdumpstack (yyGLRStack* yystackp)
|
||||
YYFPRINTF (stderr, "\n");
|
||||
}
|
||||
#endif
|
||||
]
|
||||
|
||||
b4_epilogue
|
||||
]b4_epilogue[]dnl
|
||||
dnl
|
||||
dnl glr.cc produces its own header.
|
||||
dnl
|
||||
@@ -2614,5 +2612,5 @@ b4_copyright([Skeleton interface for Bison GLR parsers in C],
|
||||
]b4_cpp_guard_open([b4_spec_defines_file])[
|
||||
]b4_shared_declarations[
|
||||
]b4_cpp_guard_close([b4_spec_defines_file])[
|
||||
]])])
|
||||
]])])dnl
|
||||
m4_divert_pop(0)
|
||||
|
||||
@@ -211,9 +211,7 @@ m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
|
||||
|
||||
#endif
|
||||
]m4_popdef([b4_parse_param])dnl
|
||||
b4_namespace_close[
|
||||
|
||||
]])
|
||||
b4_namespace_close])
|
||||
|
||||
|
||||
# Let glr.c believe that the user arguments include the parser itself.
|
||||
|
||||
@@ -1104,5 +1104,5 @@ b4_error_verbose_if([int yystate, int yytoken],
|
||||
const ]b4_parser_class_name[::token_number_type ]b4_parser_class_name[::yyundef_token_ = ]b4_undef_token_number[;
|
||||
|
||||
]b4_namespace_close[
|
||||
]b4_epilogue
|
||||
]b4_epilogue[]dnl
|
||||
m4_divert_pop(0)
|
||||
|
||||
@@ -2045,7 +2045,7 @@ yypushreturn:]])[
|
||||
}
|
||||
|
||||
|
||||
]b4_epilogue
|
||||
]b4_epilogue[]dnl
|
||||
b4_defines_if(
|
||||
[@output(b4_spec_defines_file@)@
|
||||
b4_copyright([Bison interface for Yacc-like parsers in C],
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* A Bison parser, made by GNU Bison 2.6.1.6-b045. */
|
||||
/* A Bison parser, made by GNU Bison 2.6.1.12-3153-dirty. */
|
||||
|
||||
/* Bison implementation for Yacc-like parsers in C
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
#define YYBISON 1
|
||||
|
||||
/* Bison version. */
|
||||
#define YYBISON_VERSION "2.6.1.6-b045"
|
||||
#define YYBISON_VERSION "2.6.1.12-3153-dirty"
|
||||
|
||||
/* Skeleton name. */
|
||||
#define YYSKELETON_NAME "yacc.c"
|
||||
@@ -3225,4 +3225,3 @@ char_name (char c)
|
||||
return quotearg_style (escape_quoting_style, buf);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* A Bison parser, made by GNU Bison 2.6.1.6-b045. */
|
||||
/* A Bison parser, made by GNU Bison 2.6.1.12-3153-dirty. */
|
||||
|
||||
/* Bison interface for Yacc-like parsers in C
|
||||
|
||||
|
||||
@@ -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,20 @@ 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.
|
||||
# FIXME: For 2.7: 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 +526,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],
|
||||
|
||||
Reference in New Issue
Block a user