mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 01:33:03 +00:00
todo: short term
* TODO (syntax_error, variable names): New.
This commit is contained in:
22
TODO
22
TODO
@@ -1,6 +1,28 @@
|
|||||||
-*- outline -*-
|
-*- outline -*-
|
||||||
|
|
||||||
* Short term
|
* Short term
|
||||||
|
** Use syntax_error from the scanner?
|
||||||
|
This would provide a means to raise syntax error from function called
|
||||||
|
from the scanner. Actually, there is no good solution to report a
|
||||||
|
lexical error in general. Usually they are kept at the scanner level
|
||||||
|
only, ignoring the guilty token. But that might not be the best bet,
|
||||||
|
since we don't benefit from the syntactic error recovery.
|
||||||
|
|
||||||
|
We still have the possibility to return an invalid token number, which
|
||||||
|
does the trick. But then the error message from the parser is poor
|
||||||
|
(something like "unexpected $undefined"). Since the scanner probably
|
||||||
|
already reported the error, we should directly enter error-recovery,
|
||||||
|
without reporting the error message (i.e., YYERROR's semantics).
|
||||||
|
|
||||||
|
Back to lalr1.cc (whose name is now quite unfortunate, since it also
|
||||||
|
covers lr and ielr), if we support exceptions from yylex, should we
|
||||||
|
propose a lexical_error in addition to syntax_error? Should they have
|
||||||
|
a common root, say parse_error? Should syntax_error be renamed
|
||||||
|
syntactic_error for consistency with lexical_error?
|
||||||
|
|
||||||
|
** Variable names.
|
||||||
|
What should we name `variant' and `lex_symbol'?
|
||||||
|
|
||||||
** Use b4_symbol in all the skeleton
|
** Use b4_symbol in all the skeleton
|
||||||
Then remove the older system, including the tables generated by
|
Then remove the older system, including the tables generated by
|
||||||
output.c
|
output.c
|
||||||
|
|||||||
Reference in New Issue
Block a user