Paul Eggert
0aa32d51bb
Include location.h.
...
(scanner_cursor): New decl.
2002-12-07 06:11:11 +00:00
Paul Eggert
2073702c37
Adjust to new location_t layout.
2002-12-07 06:02:10 +00:00
Paul Eggert
b729552289
(lloc_default): New function, which handles
...
empty locations more accurately.
(YYLLOC_DEFAULT): Use it.
(%token COLON): Remove.
(%token ID_COLON): New token.
(rules): Use it.
(declarations, rules): Remove trailing semicolon.
(declaration, rules_or_grammar_declaration):
Allow empty (";") declaration.
(symbol_def): Remove empty actions; no longer needed.
(rules_or_grammar_declaration): Remove trailing semicolon.
(semi_colon.opt): Remove.
2002-12-07 06:01:20 +00:00
Paul Eggert
8f759107f1
Do not include <quotearg.h>; no longer needed.
...
(boundary): New type.
(location_t): Use it. This allows locations to span file boundaries.
All member uses changed: file -> start.file or end.file (as needed),
first_line -> start.line, first_column -> start.column,
last_line -> end.line, last_column -> end.column.
(equal_boundaries): New function.
(LOCATION_RESET, LOCATION_STEP): Remove.
(LOCATION_PRINT): Remove. All callers changed to use location_print.
(empty_location): Now const.
(location_print): New decl.
2002-12-07 05:58:38 +00:00
Paul Eggert
b17a1fc541
* src/location.c: Include <quotearg.h>.
...
(empty_location): Now const.
(location_print): New function. Follow the recommendation of the
GNU Coding Standards for locations that span file boundaries.
2002-12-07 05:57:32 +00:00
Paul Eggert
5fcdb07b70
LOCATION_PRINT -> location_print
2002-12-07 05:55:28 +00:00
Paul Eggert
7f8ba6c7f3
(current_file): Remove duplicate decl;
...
current_file is now owned by files.h.
2002-12-07 05:54:29 +00:00
Paul Eggert
4b68955b1d
Include files.h. LOCATION_PRINT -> location_print.
2002-12-07 05:53:51 +00:00
Paul Eggert
b69d743e78
(Table of Symbols): YYERROR_VERBOSE should
...
be #defined in the prologue, not in the Bison declarations.
This fixes Debian Bug 102878, reported by Shaul Karl.
2002-12-07 05:50:45 +00:00
Paul Eggert
4f21fffe7e
(yy_reduce_print): Don't assume that yyrline[yyrule] promotes to int;
...
it might be unsigned int.
2002-12-07 05:46:30 +00:00
Paul Eggert
c5d128ec1a
(yy_reduce_print): Don't assume that yyrline[yyrule]
...
promotes to int; it might be unsigned int.
2002-12-07 05:45:46 +00:00
Paul Eggert
b64755e391
Add strtoul.c
...
In src/scan-gram.l, move helper function definitions to epilogue.
2002-12-02 18:20:30 +00:00
Paul Eggert
022fb98e85
(AC_REPLACE_FUNCS): Add strtoul.
2002-12-02 18:19:51 +00:00
Paul Eggert
570fe42828
New file, from gnulib.
2002-12-02 18:19:30 +00:00
Paul Eggert
6c30d6413e
(no_cr_read, extend_location): Move to epilogue,
...
and put only a forward declaration in the prologue. This is for
consistency with the other scanner helper functions.
2002-12-01 02:37:56 +00:00
Paul Eggert
6ba5559289
Type clashes now generate warnings, not errors, since it
...
appears that POSIX may allow some grammars with type clashes.
2002-11-30 09:52:42 +00:00
Paul Eggert
e927351156
(grammar_current_rule_check): Warn about
...
type clashes instead of complaining.
2002-11-30 09:52:11 +00:00
Paul Eggert
38e71ff8c8
(Type Clashes): Expect warnings, not complaints.
2002-11-30 09:51:50 +00:00
Paul Eggert
3b0ee3aa8b
fund -> found
2002-11-30 09:25:06 +00:00
Paul Eggert
6e746484fc
Add Yacc Library.
...
gram_error is static.
yylex and yyerror must be declared.
2002-11-30 09:20:52 +00:00
Paul Eggert
74724a70a5
Describe Yacc library, lex-param and parse-param changes.
2002-11-30 09:18:34 +00:00
Paul Eggert
1fec91df90
(gram_error): Now static. Add static decl.
...
(print_token_value): Omit parameter names from forward decl,
for consistency.
2002-11-30 09:16:54 +00:00
Paul Eggert
d18f45311a
(gram_error): Remove decl.
2002-11-30 09:16:32 +00:00
Paul Eggert
93dd49ab29
(Yacc Library): New node. Regenerate top menu.
2002-11-30 09:11:30 +00:00
Paul Eggert
1f14d97ae5
(lib_LIBRARIES, liby_a_SOURCES): New macros.
2002-11-30 09:10:55 +00:00
Paul Eggert
0af19cd0c1
lib/main.c, lib/yyerror.c: New files.
2002-11-30 09:10:20 +00:00
Paul Eggert
38a92d500a
Emphasize that yylex and yyerror must be declared before being used.
...
E.g., one should typically declare them in the prologue. Use GNU
coding style in examples. Put "const" consistently after the type it
modifies. Mention that C99 supports "inline". Mention that yyerror
traditionally returns "int".
2002-11-30 07:42:37 +00:00
Paul Eggert
6b0d38ab2c
[a-f] -> [abcdef], so that we don't assume the C locale.
2002-11-29 09:03:16 +00:00
Paul Eggert
88510f9c07
%parse-param and %lex-param now take just one argument, the
...
declaration; the argument name is deduced from the declaration.
2002-11-29 08:45:33 +00:00
Paul Eggert
da90e18c6e
(Simple LALR Calculator): Adopt new convention for %parse-param
...
and %lex-param.
2002-11-29 08:45:14 +00:00
Paul Eggert
763ed7a687
"," now elicits a warning, rather than being
...
a token; this is more compatible with byacc.
2002-11-29 08:44:40 +00:00
Paul Eggert
1773ceee65
(add_param): New function.
...
(COMMA): Remove.
(declaration): Implement new rule for %parse-param and %lex-param.
2002-11-29 08:44:04 +00:00
Paul Eggert
feeb0edaf1
(Parser Function, Pure Calling, Error Reporting, Table of Symbols):
...
%parse-param and %lex-param now take just one argument, the
declaration; the argument name is deduced from the declaration.
2002-11-29 08:43:12 +00:00
Paul Eggert
78c3da9e09
(reader): Remove gram_control; it wasn't being used.
2002-11-29 05:59:59 +00:00
Paul Eggert
4f39538148
Sync with gnulib.
2002-11-28 00:42:28 +00:00
Paul Eggert
bb92250c78
Rename identifiers to avoid real and potential collisions.
2002-11-27 18:36:41 +00:00
Paul Eggert
41141c568e
(STEP): Renamed from YY_STEP. All uses changed.
...
(STRING_GROW): Renamed from YY_OBS_GROW. All uses changed.
(STRING_FINISH): Renamed from YY_OBS_FINISH. All uses changed.
(STRING_FREE): Renamed from YY_OBS_FREE. All uses changed.
2002-11-27 18:34:14 +00:00
Paul Eggert
f6d03984ae
(struct gram_control_s, gram_control_t): Remove.
...
(YY_DECL): Don't use "yy" at start of local variables.
All uses changed, e.g., yylloc -> loc.
2002-11-27 18:33:42 +00:00
Paul Eggert
ad8a3efc5a
(print_token_value): Renamed from yyprint.
...
All uses changed.
(YYPARSE_PARAM, YYLEX_PARAM, yycontrol): Remove. All uses changed.
The name "yycontrol" violates the name space rules, and this stuff
wasn't being used anyway.
(input): Remove action; this stuff wasn't being used.
(gram_error): Rename local variable yylloc -> loc.
2002-11-27 18:33:18 +00:00
Paul Eggert
831d3c996d
yyprint -> print_token_value
2002-11-27 18:32:12 +00:00
Paul Eggert
136d65300d
(_AT_CHECK_PRINTER_AND_DESTRUCTOR): yyout -> yyoutput,
...
to avoid collision with lex macro described by Bruce Lilly in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001929.html >.
2002-11-27 18:31:27 +00:00
Paul Eggert
14740648d5
(b4_yysymprint_generate): yyout -> yyoutput,
...
to avoid collision with lex macro described by Bruce Lilly in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001929.html >.
2002-11-27 18:30:50 +00:00
Paul Eggert
08cae37b47
Update version to 1.75d.
2002-11-25 08:21:40 +00:00
Paul Eggert
ceed6cdce5
Regenerate.
2002-11-25 08:05:09 +00:00
Paul Eggert
3af4feb22f
Version 1.75c.
2002-11-25 07:56:44 +00:00
Paul Eggert
dda7aa54b6
Sync with gnulib.
2002-11-25 07:50:25 +00:00
Paul Eggert
16f37b35a5
(Actions after errors): Use an output format
...
more similar to that of the Printers and Destructors test.
Test the position of the ';' token too.
(Printers and Destructors): Likewise.
(Printers and Destructors: %glr-parser): Remove for now, to avoid
unnecessarily alarming people when the test fails.
2002-11-25 07:36:54 +00:00
Paul Eggert
300a796626
(yyerrlab1): Move this label down, so that the
...
parser does not discard the lookahead token if the user code
invokes YYERROR. This change is required for POSIX conformance.
2002-11-25 06:42:10 +00:00
Paul Eggert
f6cf0f6e5f
Sync with gnulib.
2002-11-23 07:25:41 +00:00
Paul Eggert
69e16b4c5e
Sync with gnulib again.
2002-11-22 00:30:58 +00:00
Paul Eggert
0368ae1269
Sync with gnulib.
2002-11-21 19:14:24 +00:00
Paul Eggert
580043087e
* lib/argmatch.c, lib/argmatch.h: Sync with gnulib.
...
Avoid use of <assert.h>, as the GNU Coding Standards hint that one
should use `if (! x) abort ();' rather than `assert (x);', and
anyway it's one less thing to worry about configuring.
2002-11-21 07:37:24 +00:00
Paul Eggert
6f5db56451
Sync with gnulib.
2002-11-21 07:35:58 +00:00
Paul Eggert
500bbfcd81
(_AT_TEST_GLR_CXXTYPES): Do not include <assert.h>.
...
Replace all instances of assert with abort.
2002-11-21 05:28:44 +00:00
Paul Eggert
63d0fb9ce4
(_AT_DATA_CALC_Y): Do not include <assert.h>.
...
Replace all instances of assert with abort.
2002-11-21 05:28:09 +00:00
Paul Eggert
7a86d7eba9
(_AT_CHECK_PRINTER_AND_DESTRUCTOR): Do not include <assert.h>.
2002-11-21 05:27:28 +00:00
Paul Eggert
4344c500b5
(get_color_str, get_textmode_str, get_shape_str,
...
get_layoutalgorithm_str, get_decision_str, get_orientation_str,
get_node_alignement_str, get_arrow_mode_str, get_crossing_type_str,
get_view_str, get_linestyle_str, get_arrowstyle_str): Use abort rather
than assert.
2002-11-21 05:26:41 +00:00
Paul Eggert
443594d0c4
(conflict_row, pack_vector): Use abort rather than assert.
...
(tables_generate): Use verify rather than assert.
2002-11-21 05:25:55 +00:00
Paul Eggert
87aabbff99
Do not include <assert.h>.
...
(verify): New macro.
2002-11-21 05:24:53 +00:00
Paul Eggert
2f82502a6f
(symbol_user_token_number_set, symbol_make_alias, symbol_pack):
...
Use abort rather than assert.
2002-11-21 05:23:46 +00:00
Paul Eggert
fe22d5d20f
(struniq_assert): Now returns void, and aborts if the assertion is false.
2002-11-21 05:22:29 +00:00
Paul Eggert
ec14f0c83f
(state_new, state_free, state_transitions_set, state_reduction_find):
...
Use abort rather than assert.
2002-11-21 05:21:35 +00:00
Paul Eggert
35dcf428c9
(packgram, reader): Use abort rather than assert.
2002-11-21 05:20:49 +00:00
Paul Eggert
a932883e41
(prepare_rules, token_definitions_output): Use abort rather than assert.
2002-11-21 05:20:05 +00:00
Paul Eggert
b475e0cce5
(nullable_compute): Use abort rather than assert.
2002-11-21 05:18:57 +00:00
Paul Eggert
58a84254ef
(set_goto_map, map_goto): Use abort rather than assert.
2002-11-21 05:18:08 +00:00
Paul Eggert
7223426a2b
(trace_argmatch, report_argmatch): Use verify rather than assert.
2002-11-21 05:17:21 +00:00
Paul Eggert
b9a0104860
(resolve_sr_conflict): Use abort rather than assert.
2002-11-21 05:16:36 +00:00
Paul Eggert
937fd8646f
Do not include <assert.h>.
...
(hash_lookup, hash_get_first, hash_get_next,
hash_find_entry, hash_rehash, hash_insert): Likewise.
2002-11-21 05:15:52 +00:00
Paul Eggert
b973108e1e
(ARRAY_CARDINALITY): Do not bother to #undef.
...
(ARGMATCH_CONSTRAINT): New macro.
(ARGMATCH_ASSERT): Use it.
2002-11-21 05:12:27 +00:00
Paul Eggert
51dffcbca9
Do not include <assert.h>.
...
(yydoAction, yyglrReduce, yysplitStack, yyresolveStates,
yyresolveAction, yyprocessOneStack): Use abort rather than assert.
2002-11-21 05:11:29 +00:00
Paul Eggert
76ae81983c
* data/glr.c (yygetLRActions): Replace `yyindex' with
...
`yytable[yyindex]' to fix typo introduced in my 2002-11-09 patch.
This fixes the regression with Sun ONE Studio 7 cc that I reported in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001892.html >.
2002-11-19 09:33:21 +00:00
Paul Eggert
df38312ab0
(yygetLRActions): Replace `yyindex' with
...
`yytable[yyindex]' to fix typo introduced in my 2002-11-09 patch.
This fixes the regression with Sun ONE Studio 7 cc that I reported in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001892.html >.
2002-11-19 07:35:29 +00:00
Paul Eggert
8d8a7238ee
Pacify Sun ONE Studio 7 lint. Also, rename "ParseError"
...
to "SyntaxError" for consistency with my 2002-11-15 change.
2002-11-18 20:08:57 +00:00
Paul Eggert
4e8c79eb7f
(_AT_DATA_CALC_Y): Make vars static instead of
...
extern when possible. Remove unused initializations.
2002-11-18 07:52:13 +00:00
Paul Eggert
ee16363fd2
(YYDPRINTF, YYDSYMPRINT, YYDSYMPRINTF) [!YYDEBUG]: Do not define to
...
{}, since this breaks the common use of `YYDPRINTF ((...));' if a
single statement is desired (e.g. before `else'). Work around GCC
warnings by surrounding corresponding calls with {} if needed.
(yyhasResolvedValue): Remove unused function.
(yymergeOptionSets, yyresolvStack): Use `continue;' for empty
loop body.
(yyreportSyntaxError): Renamed from yyreportParseError.
(yyrecoverSyntaxError): Renamed from yyrecoverParseError.
All uses changed.
2002-11-18 07:51:47 +00:00
Paul Eggert
6d9e8019e1
* data/yacc.c: Avoid over-quoting of __line__ and __file__.
2002-11-16 08:14:23 +00:00
Paul Eggert
ee41006f01
Avoid over-quoting of __line__ and __file.
2002-11-16 08:13:40 +00:00
Paul Eggert
b25d88f6d2
* tests/actions.at (Actions after errors): New test case.
2002-11-16 07:32:09 +00:00
Paul Eggert
5dac0025f6
(Actions after errors): New test case.
2002-11-16 07:31:35 +00:00
Paul Eggert
f0616f0b5c
Regenerate.
2002-11-15 20:58:07 +00:00
Paul Eggert
6e649e659e
* data/glr.c, data/lalr1.cc, data/yacc.cc, doc/bison.texinfo,
...
src/conflicts.c, src/parse-gram.y, src/tables.c, src/tables.h,
tests/action.at, tests/calc.at, tests/conflicts.at,
tests/cxx-type.at, tests/regression.at:
"parse error" -> "syntax error" for POSIX compatibility.
"parsing stack overflow..." -> "parser stack overflow" so
that code matches Bison documentation.
2002-11-15 20:32:21 +00:00
Paul Eggert
edbc04c709
(AT_TEST_CPP_GUARD_H): Compile with -I., as Forte 7 C requires it,
...
and it shouldn't hurt on other compilers.
2002-11-15 01:57:23 +00:00
Paul Eggert
7ec1b48eb8
* src/output.c (output_skeleton): Call xfopen instead of
...
duplicating xfopen's body.
2002-11-15 01:29:53 +00:00
Paul Eggert
93ba6bf344
(output_skeleton): Call xfopen instead of duplicating xfopen's body.
2002-11-15 01:28:40 +00:00
Paul Eggert
cfff7583d2
Mention the bugs fixed by the latest change.
2002-11-14 23:11:11 +00:00
Paul Eggert
8fcc7db138
* tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that
...
"$CC -E foo.h" is allowed, as this doesn't work with the Portland
Group compiler. Instead, use "$CC -E bar.c". Include the .h
file twice in the grammar, as an extra check.
* tests/input.at (Torturing the Scanner): Surround the
backslash-newline tests with "#if 0", to make it less likely that
we'll run into compiler bugs. Bring back solitary \ inside
comment, but add a closing comment to work around HP C bug. Don't
test backslash-newline in C character constant. This should fix
the input.at bug reported by Nelson H. F. Beebe in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001893.html >.
2002-11-14 23:08:27 +00:00
Paul Eggert
1d39f854cf
(AT_TEST_CPP_GUARD_H): Don't assume that "$CC -E foo.h" is allowed, as
...
this doesn't work with the Portland Group compiler. Instead, use "$CC
-E bar.c". Include the .h file twice in the grammar, as an extra
check.
2002-11-14 23:08:01 +00:00
Paul Eggert
dda7a53e4d
(Torturing the Scanner): Surround the backslash-newline tests with
...
"#if 0", to make it less likely that we'll run into compiler bugs.
Bring back solitary \ inside comment, but add a closing comment to
work around HP C bug. Don't test backslash-newline in C character
constant. This should fix the input.at bug reported by Nelson
H. F. Beebe in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001893.html >.
2002-11-14 22:53:47 +00:00
Paul Eggert
daa33def28
Fix some bugs reported by Albert Chin-A-Young in
...
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001881.html >.
2002-11-14 01:24:12 +00:00
Paul Eggert
2b42986e75
(export YYLTYPE): Don't invoke "cc a.c b.c -o c"; the HP-UX 11i C
...
compiler chatters during compilation. Instead, invoke "cc -c a.c -o
a.o; cc -c b.c -o b.o; cc a.o b.o -o c".
2002-11-14 00:36:03 +00:00
Paul Eggert
efc6bf1b94
(Torturing the Scanner): Don't invoke "cc a.c b.c
...
-o c"; the HP-UX 11i C compiler chatters during compilation.
Instead, invoke "cc -c a.c -o a.o; cc -c b.c -o b.o; cc a.o b.o -o c".
2002-11-14 00:35:27 +00:00
Paul Eggert
149365be01
(Torturing the Scanner): Remove lines containing
...
solitary backslashes, as they tickle a bug in the HP-UX 11i C
compiler.
2002-11-14 00:26:45 +00:00
Paul Eggert
9a86cdb99b
* tests/glr-regr1.at (Badly Collapsed GLR States): Avoid //
...
comments, since they're not portable. Use GNU coding style.
2002-11-14 00:04:57 +00:00
Paul Eggert
c240826c06
(Badly Collapsed GLR States): Avoid //
...
comments, since they're not portable. Use GNU coding style.
2002-11-13 23:20:52 +00:00
Paul Eggert
f7e096fee3
(AC_INIT): Bump version to 1.75c.
2002-11-13 09:06:47 +00:00
Paul Eggert
73dbb6420e
Regenerate.
2002-11-13 08:34:23 +00:00
Paul Eggert
87f721cc87
Version 1.75b.
2002-11-13 08:32:08 +00:00
Paul Eggert
ff03259279
(yydoAction): Return YYRESULTTAG, not int.
...
(yyglrReduce): Return yyok, not 0.
This should avoid the enumerated-type warnings reported
by Nelson H. F. Beebe in
<http://mail.gnu.org/pipermail/bug-bison/2002-November/001872.html >.
2002-11-13 07:46:19 +00:00
Paul Eggert
dbba6a3be7
[! BITSET_INLINE]: Remove.
...
(bitset_set, bitset_reset, bitset_test): Rename local vars
to avoid shadowing warnings by GCC.
2002-11-13 07:02:51 +00:00