X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/38609c34559fb86f2fb827dfed929ba9c396dc6f..e34e97bcd736ab3193bfd3abd4162db3b159836d:/TODO diff --git a/TODO b/TODO index 6686ca4e..5807ccdc 100644 --- a/TODO +++ b/TODO @@ -22,9 +22,6 @@ parser") refers to the current `output' format. ** vector Move to using vector, drop stack.hh. -** I18n -Catch up with yacc.c. - * Report ** GLR @@ -55,31 +52,6 @@ DeRemer and Penello: they already provide the algorithm. * Extensions -** Labeling the symbols -Have a look at the Lemon parser generator: instead of $1, $2 etc. they -can name the values. This is much more pleasant. For instance: - - exp (res): exp (a) '+' exp (b) { $res = $a + $b; }; - -I love this. I have been bitten too often by the removal of the -symbol, and forgetting to shift all the $n to $n-1. If you are -unlucky, it compiles... - -But instead of using $a etc., we can use regular variables. And -instead of using (), I propose to use `:' (again). Paul suggests -supporting `->' in addition to `:' to separate LHS and RHS. In other -words: - - r:exp -> a:exp '+' b:exp { r = a + b; }; - -That requires an significant improvement of the grammar parser. Using -GLR would be nice. It also requires that Bison know the type of the -symbols (which will be useful for %include anyway). So we have some -time before... - -Note that there remains the problem of locations: `@r'? - - ** $-1 We should find a means to provide an access to values deep in the stack. For instance, instead of @@ -290,8 +262,7 @@ Equip the parser with a means to create the (visual) parse tree. ----- -Copyright (C) 2001, 2002, 2003, 2004, 2006, 2009 Free Software -Foundation, Inc. +Copyright (C) 2001-2004, 2006, 2008-2012 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler.