X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/4fc55348e59ab81573d188c8fd529ed9faf81444..cb823b6f0c5d025e3667f994222037476c41ea1a:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 3b8e4c4b..4543fdd4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,49 @@ +2008-11-15 Akim Demaille + + Support parametric types. + There are two issues to handle: first scanning nested angle bracket pairs + to support types such as std::pair< std::string, std::list > >. + + 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 + , 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. + +2008-11-15 Akim Demaille + + Test token.prefix. + 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. + +2008-11-15 Akim Demaille + + Test the make_TOKEN interface. + * tests/c++.at (AT_CHECK_VARIANTS): Require and use locations. + Factor the common code in yylex. + Use it to test "%define lex_symbol". + +2008-11-15 Akim Demaille + + Formatting change. + 2008-11-15 Akim Demaille Simplify code for variants bench marks.