⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 bison 2.0 主要可以用来做语法分析用的
💻
📖 第 1 页 / 共 5 页
字号:
2004-12-25  Paul Eggert  <eggert@cs.ucla.edu>	* NEWS: Version 2.0.  Reformat the existing news items since	1.875, so that related items are grouped together.	* configure.ac (AC_INIT): Bump version to 2.0.	* src/parse-gram.c, src/parse-gram.h: Regenerate with 2.0.	* tests/torture.at (Exploding the Stack Size with Alloca): Set	YYSTACK_USE_ALLOCA to 1 if __GNUC__ or alloca are defined;	otherwise, we're not testing alloca.  Unfortunately there's no	simple way to consult HAVE_ALLOCA here.	* data/lalr1.cc (yydestruct_): Pacify unused variable warning	for yymsg, too.	* src/LR0.c (new_itemsets): Use memset rather than zeroing by	hand.  This avoids a warning about comparing int to size_t when	GCC warnings are enabled.2004-12-22  Paul Eggert  <eggert@cs.ucla.edu>	* NEWS: Bison-generated parsers no longer default to using the	alloca function (when available) to extend the parser stack, due	to widespread problems in unchecked stack-overflow detection.	* data/glr.c (YYMAXDEPTH): Remove undef when zero.  It's the user's	responsibility to set it to a positive value.  This lets the user	specify a value that is not a preprocessor constant.	* data/yacc.c (YYMAXDEPTH): Likewise.	(YYSTACK_ALLOC): Define only if YYSTACK_USE_ALLOCA is nonzero.	* doc/bison.texinfo (Stack Overflow): YYMAXDEPTH no longer needs	to be a compile-time constant.  However, explain the constraints on it.	Also, explain the constraints on YYINITDEPTH.	(Table of Symbols): Explain that alloca is no longer the default.	Explain the user's responsibility if they define YYSTACK_USE_ALLOCA	to 1.	* doc/bison.texinfo (Location Default Action): Mention that n must	be zero when k is zero.  Suggested by Frank Heckenbach.2004-12-22  Akim Demaille  <akim@epita.fr>	* data/lalr1.cc (parser::token_number_type, parser::rhs_number_type)	(parser::state_type, parser::semantic_type, parser::location_type):	Private, not public.	(parser::parse): Return ints, not bool.	Returning a bool introduces a problem: 0 corresponds to false, and	it seems weird to return false on success.  Returning true changes	the conventions for yyparse.	Alternatively we could return void and send an exception.	There is no clear consensus (yet?).	(state_stack, semantic_stack, location_stack): Rename as...	(state_stack_type, semantic_stack_type, location_stack_type): these.	Private, not public.	* tests/c++.at: New.	* tests/testsuite.at, tests/Makefile.am: Adjust.2004-12-21  Akim Demaille  <akim@epita.fr>	* data/lalr1.cc (parser::parse): Return a bool instead of an int.2004-12-21  Akim Demaille  <akim@epita.fr>	Don't impose std::string for filenames.	* data/lalr1.cc (b4_filename_type): New.	(position::filename): Use it.	(parser.hh): Move the inclusion of stack.hh and location.hh below	the user code, so that needed headers for the filename type can be	included first.	Forward declare them before the user code.	* tests/Makefile.am (check-local, installcheck-local): Pass	TESTSUITEFLAGS to the TESTSUITE.2004-12-20  Akim Demaille  <akim@epita.fr>	Use more STL like names: my_class instead of MyClass.	* data/lalr1.cc (LocationStack, LocationType, RhsNumberType)	(SemanticStack, SemanticType, StateStack, StateType)	(TokenNumberType, Stack, Slice, Traits, Parser::location)	(Parser::value): Rename as...	(location_stack, location_type, rhs_number_type, semantic_stack)	(semantic_type, state_stack, state_type, token_number_type, stack)	(slice, traits, parser::yylloc, parser::yylval): these.	* tests/calc.at, tests/regression.at, tests/actions.at: Adjust.2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>	* data/glr.c (YYLLOC_DEFAULT): Use GNU spacing conventions.	* data/yacc.c (YYLLOC_DEFAULT): Likewise.2004-12-17  Paul Eggert  <eggert@cs.ucla.edu>	Remove uses of 'short int' and 'unsigned short int'.  This raises	some arbitrary limits.  It uses more memory but nowadays that's	not much of an issue.	This change does not affect the generated parsers; that's a different	task, as some users will want to conserve memory there.	Ideally we should use size_t to represent all object counts, and	something like ptrdiff_t to represent signed differences of object	counts; but that will require more code-cleanup than I have the	time to do right now.	* src/LR0.c (allocate_itemsets, new_itemsets, save_reductions):	Use size_t, not int or short int, to count objects.	* src/closure.c (nritemset, closure): Likewise.	* src/closure.h (nritemset, closure): Likewise.	* src/nullable.c (nullable_compute): Likewise.	* src/print.c (print_core): Likewise.	* src/print_graph.c (print_core): Likewise.	* src/state.c (state_compare, state_hash): Likewise.	* src/state.h (struct state): Likewise.	* src/tables.c (default_goto, goto_actions): Likewise.	* src/gram.h (rule_number, rule): Use int, not short int.	* src/output.c (prepare_rules): Likewise.	* src/state.h (state_number, STATE_NUMBER_MAXIMUM, transitions,	errs, reductions): Likewise.	* src/symtab.h (symbol_number, SYMBOL_NUMBER_MAXIMUM, struct symbol):	Likewise.	* src/tables.c (vector_number, tally, action_number,	ACTION_NUMBER_MINIMUM): Likewise.	* src/output.c (muscle_insert_short_int_table): Remove.2004-12-17  Akim Demaille  <akim@epita.fr>	* data/lalr1.cc: Extensive Doxygenation.	(error_): Rename as...	(error): this, since it is visible to the user.	Adjust callers.	(Parser::message): Now an automatic variable from...	(Parser::yyreport_syntax_error_): here.	* tests/actions.at, tests/calc.at, tests/regression.at: Adjust to	Parser::error.	* tests/input.at: Escape $.2004-12-16  Paul Eggert  <eggert@cs.ucla.edu>	* data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):	Parenthesize rhs to avoid obscure problems with mistakes like	"foo$$bar = foo$1bar;".  Problem reported by twlevo at xs4all.	* data/lalr1.cc (b4_lhs_value, b4_rhs_value, b4_lhs_location,	b4_rhs_location): Likewise.	* data/yacc.c (b4_lhs_value, b4_rhs_value, b4_lhs_location,	b4_rhs_location): Likewise.2004-12-16  Akim Demaille  <akim@epita.fr>	* data/lalr1.cc (yyreport_syntax_error_): Catch up with glr.c and	yacc.c: be sure to stay within yycheck_.	* tests/actions.at: Re-enable C++ tests.2004-12-16  Akim Demaille  <akim@epita.fr>	* src/print_graph.c (print_graph): Remove layoutalgorithm uses for	real.2004-12-16  Akim Demaille  <akim@epita.fr>	Use #define to handle the %name-prefix.	* data/glr.c, data/yacc.c: Comment changes.	* data/lalr1.cc (yylex): Use #define to select the name of yylex,	so that one can refer to yylex in the parser file, and have it	renamed, as is the case with other skeletons.2004-12-16  Akim Demaille  <akim@epita.fr>	Move lalr1.cc internals into yy*.	* data/lalr1.cc (semantic_stack_, location_stack_, state_stack_)	(semantic_stack_, location_stack_, pact_, pact_ninf_, defact_)	(pgoto_, defgoto_, table_, table_ninf_, check_, stos_, r1_, r2_)	(name_, rhs_, prhs_, rline_, token_number_, eof_, last_, nnts_)	(empty_, final_, terror_, errcode_, ntokens_)	(user_token_number_max_, undef_token_, n_, len_, state_, nerrs_)	(looka_, ilooka_, error_range_, nerrs_):	Rename as...	(yysemantic_stack_, yylocation_stack_, yystate_stack_)	(yysemantic_stack_, yylocation_stack_, yypact_, yypact_ninf_)	(yydefact_, yypgoto_, yydefgoto_, yytable_, yytable_ninf_)	(yycheck_, yystos_, yyr1_, yyr2_, yyname_, yyrhs_, yyprhs_)	(yyrline_, yytoken_number_, yyeof_, yylast_, yynnts_, yyempty_)	(yyfinal_, yyterror_, yyerrcode_, yyntokens_)	(yyuser_token_number_max_, yyundef_token_, yyn_, yylen_, yystate_)	(yynerrs_, yylooka_, yyilooka_, yyerror_range_, yynerrs_):	these.2004-12-15  Paul Eggert  <eggert@cs.ucla.edu>	Fix some problems reported by twlevo at xs4all.	* src/symtab.c (symbol_new): Report an error if the input grammar	contains too many symbols.  This is better than calling abort() later.	* src/vcg.h (enum layoutalgorithm): Remove.  All uses removed.	(struct node, struct graph):	Rename member expand to stretch.  All uses changed.	(struct graph): Remove member layoutalgorithm.  All uses removed.	* src/vcg.c (get_layoutalgorithm_str): Remove.  All uses removed.	* src/vcg_defaults.h (G_STRETCH): Renamed from G_EXPAND.	All uses changed.	(N_STRETCH): Rename from N_EXPAND.  All uses changed.2004-12-15  Akim Demaille  <akim@epita.fr>	* data/lalr1.cc: Normalize /** \brief ... */ to ///.	Add more Doxygen comments.	(symprint_, stack_print_, reduce_print_, destruct_, pop)	(report_syntax_error_, translate_): Rename as...	(yysymprint_, yystack_print_, yyreduce_print_, yydestruct_)	(yypop_, yyreport_syntax_error_, yytranslate_): this.2004-12-15  Akim Demaille  <akim@epita.fr>	* data/lalr1.cc (lex_): Rename as...	(yylex_): this.	Move the trace here.	Take the %name-prefix into account.	Reported by Alexandre Duret-Lutz.2004-12-15  Akim Demaille  <akim@epita.fr>	Simplify the C++ parser constructor.	* data/lalr1.cc (debug_): Rename as...	(yydebug_): so that the parser's internals are always in the yy*	pseudo namespace.	Adjust uses.	(b4_parse_param_decl): Remove the leading comma as it is now only	called as unique argument list.	(Parser::Parser): Remove the constructor accepting a location and	an initial debugging level.	Remove from the other ctor the argument for the debugging level.	(debug_level_type, debug_level, set_debug_level): New.	* tests/actions.at, tests/calc.at, tests/regression.at: Adjust	constructor calls.2004-12-15  Akim Demaille  <akim@epita.fr>	Remove b4_root related material: failure experiment	(which goal was to allow to derive from a class).	* data/lalr1.cc (b4_root, b4_param, b4_constructor): Remove	definitions and uses.2004-12-14  Paul Eggert  <eggert@cs.ucla.edu>	* data/glr.c (struct yyGLRStack): yyerror_range now has 3 items,	not 2, since it's not portable to subtract 1 from the start of an	array.  The new item 0 is never set or used.  All uses changed.	(yyrecoverSyntaxError): Use YYLLOC_DEFAULT instead of assuming	the default definition of YYLLOC_DEFAULT.  Problem reported	by Frank Heckenbach.2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>	* data/glr.c (YYRHSLOC): Don't have two definitions, one for	the normal case and one for the error case.  Just use the	first one uniformly.  Problem reported by Frank Heckenbach.	(YYLLOC_DEFAULT): Use the conventions of yacc.c, so we can	use exactly the same macro in both places.	(yyerror_range): Now of type yyGLRStackItem, not YYLTYPE,	so that the normal-case YYRHSLOC works for the error case too.	All uses changed.	* data/yacc.c (YYRHSLOC): New macro, taken from glr.c.	(YYLLOC_DEFAULT): Use the same macro as glr.c.	* doc/bison.texinfo (Location Default Action): Don't claim that	we have an array of locations.  Use the same macro for both glr	and lalr parsers.  Mention YYRHSLOC.  Mention what happens when	the index is 0.2004-12-10  Paul Eggert  <eggert@cs.ucla.edu>	* HACKING: Update email addresses to send announcements to.	* configure.ac (AC_INIT): Bump version to 1.875f.2004-12-10  Paul Eggert  <eggert@cs.ucla.edu>	* NEWS: Version 1.875e.	* src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875e.	* src/scan-skel.l: Include "complain.h", for "fatal".	* src/relation.h (relation_print, relation_digraph):	Relation sizes are of type relation_node, not size_t (this is	merely a doc fix, since the two types are equivalent).	(relation_transpose): Relation sizes are of type relation_node,	not int.	* src/relation.c: Likewise.	(top, infinity): Now of type relation_node, not int.	(traverse, relation_transpose): Use relation_node, not int.	* data/glr.c (yyuserAction, yyrecoverSyntaxError): Mark args	with ATTRIBUTE_UNUSED if they're not used, to avoid GCC warning.	(yyparse): Remove unused local introduced in 2004-10-25 patch.	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): New arg	specifying whether the test should be skipped.  Use it tp	specify that the [%defines %skeleton "lalr1.cc"] tests currently	fail on some hosts, and should be skipped.2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>	* src/system.h (CALLOC, MALLOC, REALLOC): Remove.  All callers	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,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -