X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/e657f3698ed074bca2a84d5e2498f8f369c3bc49..681dda24bab97297d43a09fb50f95110b790c3ce:/TODO diff --git a/TODO b/TODO index 91845136..5807ccdc 100644 --- a/TODO +++ b/TODO @@ -52,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 @@ -287,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.