todo: update

This commit is contained in:
Akim Demaille
2020-02-19 14:57:17 +01:00
parent 0e7bc7a6d8
commit 30ba94081c

35
TODO
View File

@@ -83,15 +83,6 @@ syntax error, unexpected $end, expecting ↦ or 🎅🐃 or '\n'
While at it, we should stop using "$end" by default, in favor of "end of While at it, we should stop using "$end" by default, in favor of "end of
file", or "end of input", whatever. See how lalr1.java does that. file", or "end of input", whatever. See how lalr1.java does that.
** Better error messages
The users are not provided with enough tools to forge their error messages.
See for instance "Is there an option to change the message produced by
YYERROR_VERBOSE?" by Simon Sobisch, on bison-help.
See also
https://www.cs.tufts.edu/~nr/cs257/archive/clinton-jefferey/lr-error-messages.pdf
and https://research.swtch.com/yyerror.
** consistency ** consistency
token vs terminal, variable vs non terminal. token vs terminal, variable vs non terminal.
@@ -155,6 +146,16 @@ functions.
states/nstates, rules/nrules, ..., ritem/nritems states/nstates, rules/nrules, ..., ritem/nritems
Fix the latter. Fix the latter.
* Better error messages
The users are not provided with enough tools to forge their error messages.
See for instance "Is there an option to change the message produced by
YYERROR_VERBOSE?" by Simon Sobisch, on bison-help.
See also
https://www.cs.tufts.edu/~nr/cs257/archive/clinton-jefferey/lr-error-messages.pdf
https://research.swtch.com/yyerror
http://gallium.inria.fr/~fpottier/publis/fpottier-reachability-cc2016.pdf
* Modernization * Modernization
Fix data/skeletons/yacc.c so that it defines YYPTRDIFF_T properly for modern Fix data/skeletons/yacc.c so that it defines YYPTRDIFF_T properly for modern
and older C++ compilers. Currently the code defaults to defining it to and older C++ compilers. Currently the code defaults to defining it to
@@ -164,10 +165,10 @@ define it to the same type as the C ptrdiff_t type.
* Completion * Completion
Several features are not available in all the backends. Several features are not available in all the backends.
- push parsers: glr.cc, lalr1.cc - push parsers: glr.c, glr.cc, lalr1.cc
- ielr: C++ and Java - lac: D, Java
- glr: Java - glr: D, Java
- token constructors: Java and C - token constructors: Java, C, D
* Bugs * Bugs
** Autotest has quotation issues ** Autotest has quotation issues
@@ -376,14 +377,6 @@ We need trustworthy benchmarks for Bison, for all our backends. Akim has a
few things scattered around; we need to put them in the repo, and make them few things scattered around; we need to put them in the repo, and make them
more useful. more useful.
** yysyntax_error
The code bw glr.c and yacc.c is really alike, we can certainly factor
some parts.
This should be worked on when we also address the expected improvements for
error generation (e.g., i18n).
* Report * Report
** Figures ** Figures