summaryrefslogtreecommitdiff
path: root/src/derives.c
Commit message (Collapse)AuthorAgeFilesLines
* maint: prepare forthcoming changesAkim Demaille2012-06-291-0/+1
| | | | | | * src/gram.c (rule_rhs_print): Do not print new line anymore. (rule_print): Make it static. * src/closure.c, src/derives.c, src/gram.c: Adjust.
* maint: run "make update-copyright".Jim Meyering2012-01-131-1/+1
|
* global: remove unnecessary horizontal tabs.Joel E. Denny2011-07-241-8/+8
| | | | | | | | | | | | | | | This change was made by applying emacs' untabify function to nearly all files in Bison's repository. Required tabs in make files, ChangeLog, regexps, and test code were manually skipped. Other notable exceptions and changes are listed below. * bootstrap: Skip because we sync this with gnulib. * data/m4sugar/foreach.m4 * data/m4sugar/m4sugar.m4: Skip because we sync these with Autoconf. * djgpp: Skip because I don't know how to test djgpp properly, and this code appears to be unmaintained anyway. * README-hacking (Hacking): Specify that tabs should be avoided where not required.
* maint: run "make update-copyright".Joel E. Denny2011-01-021-2/+2
|
* Do not use date ranges in copyright notices.Paul Eggert2010-06-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices * HACKING, Makefile.am, NEWS, PACKAGING, README, README-alpha: * TODO, bootstrap, bootstrap.conf: * build-aux/update-b4-copyright, cfg.mk, configure.ac: * data/README, data/bison.m4, data/c++-skel.m4, data/c++.m4: * data/c-skel.m4, data/c.m4, data/glr.c, data/glr.cc: * data/java-skel.m4, data/java.m4, data/lalr1.cc: * data/lalr1.java, data/local.mk, data/location.cc: * data/stack.hh, data/variant.hh, data/xslt/bison.xsl: * data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl: * data/xslt/xml2xhtml.xsl, data/yacc.c, djgpp/Makefile.maint: * djgpp/README.in, djgpp/config.bat, djgpp/config.sed: * djgpp/config.site, djgpp/config_h.sed, djgpp/djunpack.bat: * djgpp/local.mk, djgpp/subpipe.c, djgpp/subpipe.h: * djgpp/testsuite.sed, doc/bison.texinfo, doc/local.mk: * doc/refcard.tex, etc/README, etc/bench.pl.in, etc/local.mk: * examples/calc++/Makefile.am, examples/extexi: * examples/local.mk, lib/abitset.c, lib/abitset.h: * lib/bbitset.h, lib/bitset.c, lib/bitset.h: * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c: * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h: * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c: * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h: * lib/libiberty.h, lib/local.mk, lib/main.c, lib/timevar.c: * lib/timevar.def, lib/timevar.h, lib/vbitset.c: * lib/vbitset.h, lib/yyerror.c, m4/bison-i18n.m4: * m4/c-working.m4, m4/cxx.m4, m4/subpipe.m4, m4/timevar.m4: * src/AnnotationList.c, src/AnnotationList.h: * src/InadequacyList.c, src/InadequacyList.h, src/LR0.c: * src/LR0.h, src/Sbitset.c, src/Sbitset.h, src/assoc.c: * src/assoc.h, src/closure.c, src/closure.h, src/complain.c: * src/complain.h, src/conflicts.c, src/conflicts.h: * src/derives.c, src/derives.h, src/files.c, src/files.h: * src/flex-scanner.h, src/getargs.c, src/getargs.h: * src/gram.c, src/gram.h, src/graphviz.c, src/ielr.c: * src/ielr.h, src/lalr.c, src/lalr.h, src/local.mk: * src/location.c, src/location.h, src/main.c: * src/muscle-tab.c, src/muscle-tab.h, src/named-ref.c: * src/named-ref.h, src/nullable.c, src/nullable.h: * src/output.c, src/output.h, src/parse-gram.y: * src/print-xml.c, src/print-xml.h, src/print.c, src/print.h: * src/print_graph.c, src/print_graph.h, src/reader.c: * src/reader.h, src/reduce.c, src/reduce.h, src/relation.c: * src/relation.h, src/scan-code.h, src/scan-code.l: * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h: * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c: * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h: * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h: * tests/actions.at, tests/atlocal.in, tests/c++.at: * tests/calc.at, tests/conflicts.at, tests/cxx-type.at: * tests/existing.at, tests/glr-regression.at: * tests/headers.at, tests/input.at, tests/java.at: * tests/local.at, tests/local.mk, tests/named-refs.at: * tests/output.at, tests/push.at, tests/reduce.at: * tests/regression.at, tests/sets.at, tests/skeletons.at: * tests/synclines.at, tests/testsuite.at, tests/torture.at: Don't use date ranges in copyright notices. Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
* maint: run "make update-copyright"Joel E. Denny2010-01-041-2/+2
|
* maint: run "make update-copyright"Joel E. Denny2009-08-061-1/+1
|
* Update to GPLv3.Paul Eggert2007-08-151-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/gpl-3.0.texi: New file. * doc/gpl.texi: Remove. * COPYING, GNUmakefile, HACKING, Makefile.am, Makefile.cfg: * Makefile.maint, NEWS, PACKAGING, README, README-alpha: * README-hacking, TODO, bootstrap, bootstrap.conf: * configure.ac, data/Makefile.am, data/README, data/bison.m4: * data/c++-skel.m4, data/c++.m4, data/c-skel.m4, data/c.m4: * data/glr.c, data/glr.cc, data/java-skel.m4, data/java.m4: * data/lalr1.cc, data/lalr1.java, data/location.cc: * data/push.c, data/yacc.c, data/m4sugar/m4sugar.m4: * djgpp/Makefile.maint, djgpp/README.in, djgpp/config.bat: * djgpp/config.sed, djgpp/config.site, djgpp/config_h.sed: * djgpp/djunpack.bat, djgpp/subpipe.c, djgpp/subpipe.h: * djgpp/testsuite.sed, doc/Makefile.am, doc/bison.texinfo: * doc/fdl.texi, doc/refcard.tex, etc/Makefile.am, etc/README: * etc/bench.pl.in, examples/Makefile.am, examples/extexi: * examples/calc++/Makefile.am, lib/Makefile.am, lib/abitset.c: * lib/abitset.h, lib/bbitset.h, lib/bitset.c, lib/bitset.h: * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c: * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h: * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c: * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h: * lib/libiberty.h, lib/main.c, lib/subpipe.c, lib/subpipe.h: * lib/timevar.c, lib/timevar.def, lib/timevar.h: * lib/vbitset.c, lib/vbitset.h, lib/yyerror.c: * m4/c-working.m4, m4/cxx.m4, m4/m4.m4, m4/subpipe.m4: * m4/timevar.m4, src/LR0.c, src/LR0.h, src/Makefile.am: * src/assoc.c, src/assoc.h, src/closure.c, src/closure.h: * src/complain.c, src/complain.h, src/conflicts.c: * src/conflicts.h, src/derives.c, src/derives.h, src/files.c: * src/files.h, src/flex-scanner.h, src/getargs.c: * src/getargs.h, src/gram.c, src/gram.h, src/graphviz.c: * src/lalr.c, src/lalr.h, src/location.c, src/location.h: * src/main.c, src/muscle_tab.c, src/muscle_tab.h: * src/nullable.c, src/nullable.h, src/output.c, src/output.h: * src/parse-gram.c, src/parse-gram.h, src/parse-gram.y: * src/print.c, src/print.h, src/print_graph.c: * src/print_graph.h, src/reader.c, src/reader.h, src/reduce.c: * src/reduce.h, src/relation.c, src/relation.h: * src/revision.h, src/scan-code.h, src/scan-code.l: * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h: * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c: * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h: * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h: * tests/Makefile.am, tests/actions.at, tests/c++.at: * tests/calc.at, tests/conflicts.at, tests/cxx-type.at: * tests/existing.at, tests/glr-regression.at: * tests/headers.at, tests/input.at, tests/java.at: * tests/local.at, tests/output.at, tests/push.at: * tests/reduce.at, tests/regression.at, tests/sets.at: * tests/skeletons.at, tests/synclines.at, tests/testsuite.at: * tests/torture.at: Update to GPLv3.
* Work around portability problem on Solaris 10: flex-generatedPaul Eggert2005-12-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | files include <stdio.h> before <config.h>, which messes up because the latter defines __EXTENSIONS__. Address the problem by creating two new little files that include <config.h> first, then include the flex-generated files. Rewrite everyone else to include <config.h> first, as well. * lib/timevar.c: Always include "config.h". * src/Makefile.am (bison_SOURCES): Replace scan-gram.l with scan-gram-c.c, and scan-skel.l with scan-skel-c.c. (EXTRA_bison_SOURCES): New macro. * src/scan-gram-c.c, src/scan-skel-c.c: New files. * src/system.h: Don't include config.h. * src/LR0.c: Include <config.h> first. * src/assoc.c: Likewise. * src/closure.c: Likewise. * src/complain.c: Likewise. * src/conflicts.c: Likewise. * src/derives.c: Likewise. * src/files.c: Likewise. * src/getargs.c: Likewise. * src/gram.c: Likewise. * src/lalr.c: Likewise. * src/location.c: Likewise. * src/main.c: Likewise. * src/muscle_tab.c: Likewise. * src/nullable.c: Likewise. * src/output.c: Likewise. * src/parse-gram.y: Likewise. * src/print.c: Likewise. * src/print_graph.c: Likewise. * src/reader.c: Likewise. * src/reduce.c: Likewise. * src/relation.c: Likewise. * src/state.c: Likewise. * src/symlist.c: Likewise. * src/symtab.c: Likewise. * src/tables.c: Likewise. * src/uniqstr.c: Likewise. * src/vcg.c: Likewise.
* Update FSF postal mail address.Paul Eggert2005-05-141-2/+2
|
* * src/system.h (CALLOC, MALLOC, REALLOC): Remove. All callersPaul Eggert2004-12-101-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changed to use xcalloc, xnmalloc, xnrealloc, respectively, unless otherwise specified below. * src/LR0.c (allocate_itemsets): Use xnmalloc, not xcalloc, to allocate kernel_base, kernel_items, kernel_size, since they needn't be initialized to 0. (allocate_storgae): Likewise, for shiftset, redset, shift_symbol. * src/closure.c (new_closure): Likewise, for itemset. * src/derives.c (derives_compute): Likewise, for delts, derives, q. * src/lalr.c (set_goto_map): Likewise, for temp_map. (initialize_F): Likewise, for reads, edge, reads[i], includes[i]. (build_relations): Likewise for edge, states1, includes. * src/nullable.c (nullable_compute): Likewise, for squeue, relts. * src/reader.c (packgram): Likewise, for ritem, rules. * src/reduce.c (nonterminals_reduce): Likewise for nontermmap. * src/relation.c (relation_digraph): Likewise for VERTICES. (relation_transpose): Likewise for new_R, end_R. * src/symtab.c (symbols_token_translations_init): Likewise for token_translations. * src/tables.c (save_row): Likewise for froms, tos, conflict_tos. (token_actions): Likewise for yydefact, actrow, conflrow, conflict_list. (save_column): Likewise for froms[symno], tos[symno]. (goto_actions): Likewise for state_count. (pack_table): Likewise for base, pos, check. (tables_generate): Likewise for width. * src/LR0.c (set_states): Don't reuse kernel_size and kernel_base for initial core. Just have a separate core, so we needn't worry about whether kernel_size and kernel_base are initialized. * src/LR0.c (shift_symbol, redset, shiftset, kernel_base, kernel_size, kernel_items): Remove unnecessary initialization. * src/conflicts.c (conflicts): Likewise. * src/derives.c (derives): Likewise. * src/muscle_tablc (muscle_insert): Likewise. * src/relation.c (relation_digraph): Likewise. * src/tables.c (froms, tos, conflict_tos, tally, width, actrow, order, conflrow, conflict_table, conflict_list, table, check): Likewise. * src/closure.c (new_closure): Arg is of type unsigned int, not int. This is because all callers pass unsigned int. * src/closure.h (new_closure): Likewise. * src/lalr.c (initialize_F): Initialize reads[i] in all cases. (build_relations): Initialize includes[i] in all cases. * src/reader.c (packgram): Always initialize rules[ruleno].prec and rules[ruleno].precsym. Initialize members in order. * src/relation.c (relation_transpose): Always initialize new_R[i] and end_R[i]. * src/table.c (conflict_row): Initialize 0 at end of conflict_list. * src/output.c (prepare_actions): Pass 0 instead of conflict_list[0]; conflict_list[0] was always 0, but now it isn't initialized. * src/table.c (table_grow): When conflict_table grew, the grown area wasn't cleared. Fix this.
* XFREE -> freePaul Eggert2004-11-221-2/+2
|
* Use more-consistent naming conventions for local vars.Paul Eggert2003-02-031-2/+2
|
* Undo XFREE change; we assume C89 compiler, not C89 library.Paul Eggert2002-12-131-2/+2
|
* (derives_compute): Do not subtract NTOKENS fromPaul Eggert2002-12-131-14/+14
| | | | | | | | | | | | the pointer DSET returned by malloc; this isn't portable. Instead, always use DSET[i - NTOKENS] rather than DSET[i]. Similarly for DERIVES. (derives_compute): Do not bother invoking int_of_rule_number, since rule numbers are integers. All uses of XCALLOC, XMALLOC, and XREALLOC changed to use new macros CALLOC, MALLOC, REALLOC. All uses of XFREE changed to free.
* (struct rule_list): Renamed from struct rule_list_s.Paul Eggert2002-12-111-19/+23
| | | | (rule_list): Renamed from rule_list_t.
* * src/derives.h, src/derives.c (derives): A `rule_t***' instead ofAkim Demaille2002-08-011-14/+14
| | | | | | | | | | | | | | `rule_number_t**'. (set_derives, free_derives): Rename as... (derives_compute, derives_free): this. Adjust all dependencies. * src/nullable.c (set_nullable, free_nullable): Rename as... (nullable_compute, nullable_free): these. (rule_list_t): Store rule_t *, not rule_number_t. * src/state.c (state_rule_lookaheads_print): Directly compare rule pointers, instead of their numbers. * src/main.c (main): Call nullable_free, and derives_free earlier, as they were lo longer used.
* Let --trace have arguments.Akim Demaille2002-07-311-1/+1
| | | | | | | | | | | | | | | | * src/getargs.h (enum trace_e): New. * src/getargs.c (trace_args, trace_types, trace_argmatch): New. (long_options, short_options): --trace/-T takes an optional argument. Change all the uses of trace_flag to reflect the new flags. * tests/sets.at (Firsts, Nullable, Broken Closure): Use --trace=sets. Strengthen `stage' portability. * m4/stage.m4 (BISON_PREREQ_STAGE): New. * configure.in: Use it. Don't check for malloc.h and sys/times.h. * src/system.h: Include them when appropriate. * src/main.c (stage): Compile only when mallinfo, struct mallinfo, times and struct tms are available.
* Stop storing rules from 1 to nrules + 1.Akim Demaille2002-07-251-5/+5
| | | | | | | | | | | | | | | | | | * src/LR0.c, src/closure.c, src/derives.c, src/gram.c, src/lalr.c * src/nullable.c, src/output.c, src/print.c, src/reader.c * src/reduce.c: Allocate and free from &rules[0], not &rules[1]. Iterate from 0 to nrules. Use rule_number_as_item_number and item_number_as_rule_number. Adjust to `derive' now containing possibly 0. * src/gram.h (rule_number_as_item_number, item_number_as_rule_number): Handle the `- 1' part in rule numbers from/to item numbers. * src/conflicts.c (log_resolution): Fix the message which reversed shift and reduce. * src/output.c (action_row): Initialize default_rule to -1. (token_actions): Adjust. * tests/sets.at (Nullable, Firsts): Fix the previously bogus expected output. * tests/conflicts.at (Resolved SR Conflicts): Likewise.
* * src/lalr.h, src/lalr.c (goto_number_t): New.Akim Demaille2002-07-031-1/+0
| | | | | | | | * src/lalr.c (goto_list_t): New. Propagate them. * src/nullable.c (rule_list_t): New. Propagate. * src/types.h: Remove.
* * src/closure.c (print_fderives): Use rule_rhs_print.Akim Demaille2002-07-031-17/+27
| | | | | | | * src/derives.c (print_derives): Use rule_rhs_print. (rule_list_t): New, replaces `shorts'. (set_derives): Add comments. * tests/sets.at (Nullable, Firsts): Adjust.
* We spend a lot of time in quotearg, in particular when --verbose.Akim Demaille2002-06-301-1/+1
| | | | | | * src/symtab.c (symbol_get): Store a quoted version of the key. (symbol_tag_get, symbol_tag_get_n, symbol_tag_print): Remove. Adjust all callers.
* * src/gram.h (rule_number_t, RULE_NUMBER_MAX, int_of_rule_number)Akim Demaille2002-06-301-15/+17
| | | | | | | | | (item_number_of_rule_number, rule_number_of_item_number): New. * src/LR0.c, src/closure.c, src/derives.c, src/derives.h, * src/gram.c, src/lalr.c, src/nullable.c, src/output.c, src/print.c, * src/print_graph.c, src/reader.c, src/reduce.c, src/reduce.h: Propagate their use. Much remains to be done, in particular wrt `shorts' from types.h.
* * src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,Akim Demaille2002-05-261-1/+1
| | | | | | | | | | | * src/nullable.c, src/output.c, src/print.c, src/print_graph.c, * src/reader.c, src/reduce.c, src/state.h, src/symtab.h (token_number_t, item_number_as_token_number) (token_number_as_item_number, muscle_insert_token_number_table): Rename as... (symbol_number_t, item_number_as_symbol_number) (symbol_number_as_item_number, muscle_insert_symbol_number_table): these, since it is more appropriate.
* Propagate more token_number_t.Akim Demaille2002-04-221-1/+1
| | | | | | | | | | | | * src/gram.h (token_number_as_item_number) (item_number_as_token_number): New. * src/output.c (GENERATE_OUTPUT_TABLE): New. Use it to create output_item_number_table and output_token_number_table. * src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c, * src/lex.c, src/nullable.c, src/output.c, src/print.c, * src/print_graph.c, src/reader.c, src/reduce.c, src/state.h, * src/symtab.c, src/symtab.h: Use token_number_t instead of shorts.
* * src/gram.h (item_number_t): New, the type of item numbers inAkim Demaille2002-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | RITEM. Note that it must be able to code symbol numbers as positive number, and the negation of rule numbers as negative numbers. Adjust all dependencies (pretty many). * src/reduce.c (rule): Remove this `short *' pointer: use item_number_t. * src/system.h (MINSHORT, MAXSHORT): Remove. Include `limits.h'. Adjust dependencies to using SHRT_MAX and SHRT_MIN. (shortcpy): Remove. (MAXTABLE): Move to... * src/output.c (MAXTABLE): here. (prepare_rules): Use output_int_table to output rhs. * data/bison.simple, data/bison.c++: Adjust. * tests/torture.at (Big triangle): Move the limit from 254 to 500. * tests/regression.at (Web2c Actions): Ajust. Trying with bigger grammars shows various phenomena: at 3000 (28Mb of grammar file) bison is killed by my system, at 2000 (12Mb) bison passes, but produces negative #line number, once fixed, GCC is killed while compiling 14Mb, at 1500 (6.7 Mb of grammar, 8.2Mb of C), it passes. * src/state.h (state_h): Code input lines on ints, not shorts.
* * src/gram.h (rule_t): `lhs' is now a pointer to the symbol'sAkim Demaille2002-04-071-8/+7
| | | | | | | | | | | bucket. Adjust all dependencies. * src/reduce.c (nonterminals_reduce): Don't forget to renumber the `number' of the buckets too. * src/gram.h: Include `symtab.h'. (associativity): Move to... * src/symtab.h: here. No longer include `gram.h'.
* * src/closure.c, src/derives.c, src/gram.h, src/lalr.c,Akim Demaille2002-04-071-1/+1
| | | | | | * src/nullable.c, src/output.c, src/print.c, src/print_graph.c, * src/reader.c, src/reduce.c: Let rule_t.rhs point directly to the RHS, instead of being an index in RITEMS.
* * src/closure.c, src/conflicts.c, src/derives.c, src/gram.cAkim Demaille2001-12-291-3/+3
| | | | | | * src/gram.h, src/lalr.c, src/nullable.c, src/output.c, src/print.c * src/print_graph.c, src/reader.c, src/reduce.c: Rename rule_table as rules.
* * src/reader.c, src/reader.h (tags): Remove.Akim Demaille2001-12-291-2/+3
| | | | Adjust all users to use symbols[i]->tag.
* * src/gram.c (ritem_print): Be sure to subtract 1 when displayingAkim Demaille2001-12-291-1/+1
| | | | | | | | rule line numbers. * src/closure.c (print_closure): Likewise. * src/derives.c (print_derives): Likewise. * tests/sets.at (Nullable): Adjust: the rule numbers are correct now.
* * src/derives.c (print_derives): Be sure to use `>= 0', not `> 0',Akim Demaille2001-12-291-2/+2
| | | | | | | | | | | when walking through ritem, even via rule->rhs. * src/reduce.c (dump_grammar, useful_production, reduce_output) (useful_production, useless_nonterminals): Likewise. (reduce_grammar_tables): Likewise, plus update nritems. * src/nullable.c (set_nullable): Likewise. * src/lalr.c (build_relations): Likewise. * tests/sets.at (Nullable): Adjust. Fortunately, now, the $axiom is no longer nullable.
* * src/derives.c (print_derives): Display the ruleno.Akim Demaille2001-12-051-8/+2
| | | | | | * src/lalr.c (initialize_F, transpose): Better variable locality to improve readability. Avoid variables used as mere abbreviations.
* Instead of mapping the LHS of unused rules to -1, keep the LHSAkim Demaille2001-11-301-11/+8
| | | | | | | | | | valid, but flag the rules as invalid. * src/gram.h (rule_t): `useful' is a new member. * src/print.c (print_grammar): Adjust. * src/derives.c (set_derives): Likewise. * src/reader.c (packgram, reduce_output): Likewise. * src/reduce.c (reduce_grammar_tables): Likewise. * tests/reduce.at (Underivable Rules, Useless Rules): New.
* * src/derives.c (print_derives): Fix and enrich.Akim Demaille2001-11-191-2/+8
| | | | * src/closure.c (print_fderives): Likewise.
* * src/closure.c, src/derives.c, src/nullable.c: Adjust variousAkim Demaille2001-11-191-5/+4
| | | | | | trace messages. * src/LR0.c: Likewise. (allocate_itemsets): Use arrays instead of pointers to clarify.
* * src/getargs.c (statistics_flag): Replace with...Akim Demaille2001-11-191-5/+3
| | | | | | | | (trace_flag): New. (longopts): Accept --trace instead of --statistics. * src/getargs.h, src/options.c: Adjust. * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c, * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
* * src/LR0.c (new_state, get_state): Complete TRACE code.Akim Demaille2001-11-191-12/+9
| | | | | | | | | | | * src/closure.c: Include `reader.h' to get `tags', needed by the trace code. Rename the conditional DEBUG as TRACE. Output consistently TRACEs to stderr, not stdout. * src/derives.c: Likewise. * src/reduce.c: (inaccessable_symbols): Using if is better style than goto. Use `#if TRACE' instead of `#if 0' for tracing code.
* * src/gram.h (rule_t): New.Akim Demaille2001-11-191-1/+1
| | | | | | | | (rule_table): New. (rrhs, rlhs): Remove, part of state_t. * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c, * src/lalr.c, src/nullable.c, src/output.c, src/print.c, * src/reader.c, src/reduce.c: Adjust.
* Merge in branch-1_29.after-merge-branch-1_29Akim Demaille2001-10-041-1/+0
|
* * src: s/Copyright (C)/Copyright/g.Akim Demaille2000-11-071-1/+1
|
* * src/derives.c, src/print.c, src/reduce.c: To ease theAkim Demaille2000-10-021-1/+3
| | | | translation, move some `n' out of the translated strings.
* Use the more standard files `xalloc.h' and `xmalloc.c' instead ofAkim Demaille2000-10-021-17/+17
| | | | | | | | | | | | | | | | Bison's `allocate.c' and `alloc.h'. This patch was surprisingly difficult and introduced a lot of core dump. It turns out that Bison used an implementation of `xmalloc' based on `calloc', and at various places it does depend upon the initialization to 0. I have not tried to isolate the pertinent places, and all the former calls to Bison's `xmalloc' are now using `XCALLOC'. Someday, someone should address this issue. * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove. * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New files. Adjust dependencies. * src/warshall.h: New file. Propagate.
* Various anti-`extern in *.c' changes.Akim Demaille2000-10-021-2/+2
| | | | * src/system.h: Include `assert.h'.
* * src/state.h (nstates, final_state, first_state, first_shift)Akim Demaille2000-10-021-1/+0
| | | | | | | | | | (first_reduction): Move their exportation from here... * src/LR0.h: to here. Adjust dependencies. * src/getargs.c (statisticsflag): New variable. Add support for `--statistics'. Adjust dependencies. Remove a lot of now useless `extern' statements in most files.
* * src/derives.h: New file.Akim Demaille2000-09-201-59/+51
| | | | | | * src/main.c, src/derives.h: Use it. Formatting changes. * src/Makefile.am (noinst_HEADERS): Adjust.
* * src/output.c: Formatting changes.Akim Demaille2000-09-191-1/+0
| | | | | | | | | | | | | | | | * src/machine.h: Remove, leaving its contents in... * src/system.h: here. Include stdio.h. Adjust all dependencies on stdio.h and machine.h. * src/getargs.h: New file. Let all `extern' declarations about getargs.c be replaced with inclusion of `getargs.h'. * src/Makefile.am (noinst_HEADERS): Adjust. * tests/calc.m4 (yyin): Be initialized in main, not on the global scope. (yyerror): Returns void, not int. * doc/bison.texinfo: Formatting changes.
* More explicit use of "const", "extern", and "static", particularly toJesse Thilo2000-07-041-5/+8
| | | | limit the scope of many local variables and functions.
* Update FSF address.Jesse Thilo1999-01-141-1/+2
|
* Use prototypes if the compiler understands them.Jesse Thilo1998-12-301-4/+6
|