]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Support parametric types.
[bison.git] / ChangeLog
index a596821ce1231d196c33d37755b44a59f56ce4b2..4543fdd47db62e9edf58f72dd23c099d6ae896e2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,92 @@
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       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<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 
+       , 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  <akim@betelgeuse.gostai.ensta.fr>
+
+       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  <akim@betelgeuse.gostai.ensta.fr>
+
+       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  <akim@betelgeuse.gostai.ensta.fr>
+
+       Formatting change.
+
+2008-11-15  Akim Demaille  <akim@betelgeuse.gostai.ensta.fr>
+
+       Simplify code for variants bench marks.
+       * etc/bench.pl.in (&generate_grammar_list): Define and use
+       location_type.
+       Factor the common code in yylex.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Better error message.
+       * bootstrap (find_tool): Fix the error message.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Update variant.yy to newest interface.
+       * examples/variant.yy: Define lex_symbol.
+       Adjust.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Don't use locations in variant.yy.
+       * examples/variant.yy: Adjust to not using locations.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+       * data/local.mk, etc/local.mk, examples/local.mk: Use Automake
+       comments for the license.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove tests/Makefile.am.
+       * 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.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+
 2008-11-15  Akim Demaille  <demaille@gostai.com>
 
        djgpp/local.mk.