| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The real problem is rather gnulib.mk, which itself is extracted from a
Makefile.am that gnulib expects to the "recursive". The tool
prefix-gnulib-mk converts such a gnulib.mk to be non-recursive. Also,
some AC_SUBST variables need to be adjusted.
* etc/prefix-gnulib-mk: New.
* bootstrap (slurp): Use it to convert further gnulib.mk.
* lib/Makefile.am: Rename as...
* lib/local.mk: this.
Adjust to be prefixed.
* Makefile.am, configure.ac: Adjust.
* src/local.mk (AM_CPPFLAGS): Extend it, don't define it.
|
|
|
|
| |
* TODO: More short term issues.
|
|
|
|
| |
* src/parse-gram.h, src/parse-gram.c: Regen.
|
|
|
|
|
|
|
| |
* data/lalr1.cc (b4_subtract): Move to...
* data/bison.m4: here.
* data/glr.c (b4_rhs_data): Use it.
* data/yacc.c (b4_rhs_value, b4_rhs_location): Use it.
|
|
|
|
| |
* data/glr.cc: Don't pretend it's C code.
|
|
|
|
| |
* src/getargs.c (getargs): Here.
|
|
|
|
|
| |
* src/getargs.c (getargs): Don't assign const address to non-const
pointer.
|
|
|
|
|
| |
* cfg.mk (_is-dist-target): Implement. maintainer-check* was already
handled.
|
|
|
|
|
|
|
|
|
| |
* doc/bison.texinfo: Synchronize ``Detail Node Listing''.
Align menus. Adjust word wrapping. Use node names for menu names.
(Examples): Don't abbreviate node names.
(LocalWords): Remove abbreviations.
(Copying): Make description a sentence.
(Java Action Features): Remove period to match the rest of menu.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/getargs.c (command_line_location): Set parameters to void.
* src/output.c (symbol_type_name_cmp): Make static.
(symbols_by_type_name): Set parameters to void.
(symbol_definitions_output): Remove unused parameter. Rename as...
(prepare_symbol_definitions): this.
(muscles_output): Move symbol_definitions_output to...
(output): here as prepare_symbol_definitions.
* tests/c++.at (AT_CHECK_VARIANTS): Remove unused parameters of main.
(AT_CHECK_NAMESPACE): Make unused parameter lloc unnamed.
|
|
|
|
|
| |
* tests/c++.at (AT_CHECK_VARIANTS): Fixes tests 198-202.
Use AT_DATA_GRAMMAR instead of AT_DATA for compiled tests.
|
| |
|
|
|
|
|
|
| |
* doc/local.mk ($(CROSS_OPTIONS_TEXI)): The target is
"src/bison$(EXEEXT)".
Reported by Di-an Jan.
|
|
|
|
|
|
|
|
|
|
| |
* data/.cvsignore, data/.gitignore, examples/.cvsignore,
* examples/.gitignore:
Remove.
* build-aux/.cvsignore, build-aux/.gitignore, doc/.cvsignore,
* doc/.gitignore, etc/.cvsignore, etc/.gitignore, src/.cvsignore,
* src/.gitignore, tests/.cvsignore, tests/.gitignore:
Remove MAkefile and Makefile.in.
|
|
|
|
| |
* TODO: Update.
|
|
|
|
| |
* tests/input.at: here.
|
|
|
|
| |
* src/LR0.c: here.
|
|
|
|
| |
* src/parse-gram.h, src/parse-gram.c: Regen.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are two issues to handle: first scanning nested angle bracket pairs
to support types such as std::pair< std::string, std::list<std::string> > >.
Another issue is to address idiosyncracies of C++: do not glue two closing
angle brackets together (otherwise it's operator>>), and avoid sticking
blindly a TYPE to the opening <, as it can result in '<:' which is a
digraph for '['.
* src/scan-gram.l (brace_level): Rename as...
(nesting): this.
(SC_TAG): New.
Implement support for complex tags.
(tag): Accept \n, but not <.
* data/lalr1.cc (b4_symbol_value, b4_symbol_value_template)
(b4_symbol_variant): Leave space around types as parameters.
* examples/variant.yy: Use nested template types and leading ::.
* src/parse-gram.y (TYPE, TYPE_TAG_ANY, TYPE_TAG_NONE, type.opt):
Rename as...
(TAG, TAG_ANY, TAG_NONE, tag.opt): these.
* tests/c++.at: Test parametric types.
|
|
|
|
|
|
|
|
|
| |
This is not sufficient, but we test at least that the make_SYMBOL
interface is not affected by token.prefix. A more general test
will be implemented when the support of token.prefix is generalized
to more skeletons.
* tests/c++.at: One more variant test, using token.prefix.
|
|
|
|
|
|
| |
* tests/c++.at (AT_CHECK_VARIANTS): Require and use locations.
Factor the common code in yylex.
Use it to test "%define lex_symbol".
|
| |
|
|
|
|
|
|
| |
* etc/bench.pl.in (&generate_grammar_list): Define and use
location_type.
Factor the common code in yylex.
|
|
|
|
| |
* bootstrap (find_tool): Fix the error message.
|
|
|
|
|
| |
* examples/variant.yy: Define lex_symbol.
Adjust.
|
|
|
|
| |
* examples/variant.yy: Adjust to not using locations.
|
|
|
|
|
| |
* data/local.mk, etc/local.mk, examples/local.mk: Use Automake
comments for the license.
|
|
|
|
|
|
|
|
|
| |
* tests/Makefile.am: Rename as...
* tests/local.mk: this.
* Makefile.am, configure.ac: Adjust.
* Makefile.am (DISTCLEANFILES): Define.
(maintainer-check, maintainer-xml-check, maintainer-push-check):
Remove, we no longer need to bounce to the real targets.
|
| |
|
|
|
|
|
| |
* Makefile.am (EXTRA_DIST): Move djgpp related part to...
* djgpp/local.mk: this new file.
|
|
|
|
|
|
|
|
|
| |
* doc/Makefile.am: Rename as...
* doc/local.mk: this.
Adjust paths
* Makefile.am, configure.ac: Adjust.
* Makefile.am (MOSTLYCLEANFILES): New.
* src/local.mk: Adjust.
|
|
|
|
|
|
|
|
|
|
| |
It does not work, and I don't know how it was supposed to work: it seems
to be looking for sources in the build tree. I just moved it at a better
place, fixing it is still required.
* src/local.mk (echo): Remove.
(sc_tight_scope): Move to...
* maint.mk: here.
|
|
|
|
| |
* src/parse-gram.h, src/parse-gram.c: Regen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/Makefile.am: Rename as...
* src/local.mk: this.
Prefix all the paths with src/.
(AUTOMAKE_OPTIONS): Build object files in the sub dirs.
(AM_CPPFLAGS): Find find in builddir/src.
(YACC): Move the flags into...
(AM_YFLAGS): here.
* maint.mk (sc_tight_scope): Disable.
It used to bounce to the version in src/Makefile.am which is now
part of this very Makefile.
* Makefile.am, configure.ac: Adjust.
* src/scan-code-c.c, src/scan-code.l: We can no longer rely on
include "..." to find files "here": we are no longer in src/, so
qualify the includes with src/.
* doc/Makefile.am (PREPATH): No longer include the top_builddir
prefix.
(.x.1): Adjust to be able to create src/foo from the top level
Makefile, instead of going bounce to src/Makefile the creation of
foo.
|
|
|
|
| |
* doc/Makefile.am (srcsrcdir): Remove.
|
|
|
|
|
|
|
| |
* data/Makefile.am: Rename as...
* data/local.mk: this.
Adjust paths.
* Makefile.am, configure.ac: Adjust.
|
|
|
|
|
|
|
| |
* etc/Makefile.am: Rename as...
* etc/local.mk: this.
Adjust.
* Makefile.am, configure.ac: Adjust.
|
|
|
|
|
|
|
|
|
|
| |
examples/calc++/Makefile.am might be interesting to keep as is, since
it is an example in itself.
* examples/Makefile.am: Rename as...
* examples/local.mk: this.
Adjust.
* Makefile.am, configure.ac: Adjust.
|
|
|
|
|
|
|
|
|
|
| |
Recursive Makefiles are really way too slow, let's get rid of some of
them.
* build-aux/Makefile.am: Rename as...
* build-aux/local.mk: this.
Adjust paths.
* Makefile.am, configure.ac: Adjust.
|
|
|
|
|
|
|
| |
* data/location.cc (position::position): Accept file, line and
column as arguments with default values.
Always qualify initial line and column literals as unsigned.
(location::location): Provide convenience constructors.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using template buys us nothing, and makes it uselessly complex to
construct a symbol. Besides, it could not be generalized to other
languages, while make_FOO would work in C/Java etc.
* data/lalr1.cc (b4_symbol_): New.
(b4_symbol): Use it.
(b4_symbol_constructor_declaration_)
(b4_symbol_constructor_definition_): Instead of generating
specializations of an overloaded template function, just generate
several functions whose names are forged from the token names
without the token.prefix.
(b4_symbol_constructor_declarations): Generate them for all the
symbols, not just by class of symbol type, now that instead of
specializing a function template by the token, we generate a
function named after the token.
(b4_symbol_constructor_specialization_)
(b4_symbol_constructor_specializations): Remove.
* etc/bench.pl.in: Adjust to this new API.
|
|
|
|
|
|
|
|
|
|
|
| |
Provide a means to add a prefix to the name of the tokens as output in the
generated files. Because of name clashes, it is good to have such a
prefix such as TOK_ that protects from names such as EOF, FILE etc.
But it clutters the grammar itself.
* data/bison.m4 (token.prefix): Empty by default.
* data/c.m4 (b4_token_enum, b4_token_define): Use it.
* data/lalr1.cc (b4_symbol): Ditto.
|
|
|
|
|
| |
* data/lalr1.cc (b4_substract): New.
(b4_rhs_data): Use it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is allows the user to get the type of a token return by
yylex.
* data/lalr1.cc (symbol::token): New.
(yytoknum_): Define when %define lex_symbol, independently of
%debug.
(yytoken_number_): Move into...
(symbol::token): here, since that's the only use.
The other one is YYPRINT which was not officially supported
by lalr1.cc, and anyway it did not work since YYPRINT uses this
array under a different name (yytoknum).
|
|
|
|
| |
* TODO (YYERRCODE): Mention the case of $undef.
|
|
|
|
| |
* TODO (YYPRINT): New.
|
|
|
|
|
| |
* data/lalr1.cc, data/yacc.c: Fix the description of the
yytranslate and yytoknum tables.
|
|
|
|
|
|
|
|
|
|
|
|
| |
To reach good performances these functions should be inlined (yet this is
to measure precisely). To this end they must be available to the caller.
* data/lalr1.cc (b4_symbol_constructor_definition_): Qualify
location_type with the class name.
Since will now be output in the header, declare "inline".
No longer use b4_symbol_constructor_specializations, but
b4_symbol_constructor_definitions in the header.
Don't call it in the *.cc file.
|
|
|
|
|
|
| |
* data/lalr1.cc: Move the invocation of b4_yytranslate_definition
into the header file when using %define lex_symbol.
(yytranslate_): Declare inline.
|