mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 09:43:03 +00:00
java: clean up the definition of token kinds
From
public interface Lexer {
/* Token kinds. */
/** Token number, to be returned by the scanner. */
static final int YYEOF = 0;
/** Token number, to be returned by the scanner. */
static final int YYERRCODE = 256;
/** Token number, to be returned by the scanner. */
static final int YYUNDEF = 257;
/** Token number, to be returned by the scanner. */
static final int BANG = 258;
...
/** Deprecated, use b4_symbol(0, id) instead. */
public static final int EOF = YYEOF;
to
public interface Lexer {
/* Token kinds. */
/** Token "end of file", to be returned by the scanner. */
static final int YYEOF = 0;
/** Token error, to be returned by the scanner. */
static final int YYerror = 256;
/** Token "invalid token", to be returned by the scanner. */
static final int YYUNDEF = 257;
/** Token "!", to be returned by the scanner. */
static final int BANG = 258;
...
/** Deprecated, use YYEOF instead. */
public static final int EOF = YYEOF;
* data/skeletons/java.m4 (b4_token_enum): Display the symbol's tag in
comment.
* data/skeletons/lalr1.java: Address overquotation issue.
* examples/java/calc/Calc.y, examples/java/simple/Calc.y: Use YYEOF,
not EOF.
This commit is contained in:
4
TODO
4
TODO
@@ -84,6 +84,10 @@ Also do it in data/skeletons.
|
|||||||
Don't rename in Bison 3.6 (it would be logical to do so) because that
|
Don't rename in Bison 3.6 (it would be logical to do so) because that
|
||||||
would probably create many conflicts in Vincent's work (see previous point).
|
would probably create many conflicts in Vincent's work (see previous point).
|
||||||
|
|
||||||
|
** A dev warning for b4_
|
||||||
|
Maybe we should check for m4_ and b4_ leaking out of the m4 processing, as
|
||||||
|
Autoconf does. It would have caught overquotation issues.
|
||||||
|
|
||||||
* Bison 3.8
|
* Bison 3.8
|
||||||
** Unit rules / Injection rules (Akim Demaille)
|
** Unit rules / Injection rules (Akim Demaille)
|
||||||
Maybe we could expand unit rules (or "injections", see
|
Maybe we could expand unit rules (or "injections", see
|
||||||
|
|||||||
@@ -137,9 +137,14 @@ m4_define([b4_integral_parser_table_define],
|
|||||||
# ------------------------
|
# ------------------------
|
||||||
# Output the definition of this token as an enum.
|
# Output the definition of this token as an enum.
|
||||||
m4_define([b4_token_enum],
|
m4_define([b4_token_enum],
|
||||||
[b4_token_format([ /** Token number, to be returned by the scanner. */
|
[b4_token_visible_if([$1],
|
||||||
static final int %s = %s;
|
[m4_format([[ /** Token %s, to be returned by the scanner. */
|
||||||
], [$1])])
|
static final int %s = %s%s;
|
||||||
|
]],
|
||||||
|
b4_symbol([$1], [tag]),
|
||||||
|
b4_symbol([$1], [id]),
|
||||||
|
b4_symbol([$1], b4_api_token_raw_if([[number]], [[user_number]])))])])
|
||||||
|
|
||||||
|
|
||||||
# b4_token_enums
|
# b4_token_enums
|
||||||
# --------------
|
# --------------
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ import java.text.MessageFormat;
|
|||||||
*/
|
*/
|
||||||
public interface Lexer {
|
public interface Lexer {
|
||||||
]b4_token_enums[
|
]b4_token_enums[
|
||||||
/** Deprecated, use b4_symbol(0, id) instead. */
|
/** Deprecated, use ]b4_symbol(0, id)[ instead. */
|
||||||
public static final int EOF = ]b4_symbol(0, id)[;
|
public static final int EOF = ]b4_symbol(0, id)[;
|
||||||
|
|
||||||
]b4_locations_if([[
|
]b4_locations_if([[
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ class CalcLexer implements Calc.Lexer {
|
|||||||
end.set(reader.getPosition());
|
end.set(reader.getPosition());
|
||||||
switch (ttype) {
|
switch (ttype) {
|
||||||
case StreamTokenizer.TT_EOF:
|
case StreamTokenizer.TT_EOF:
|
||||||
return EOF;
|
return YYEOF;
|
||||||
case StreamTokenizer.TT_EOL:
|
case StreamTokenizer.TT_EOL:
|
||||||
end.line += 1;
|
end.line += 1;
|
||||||
end.column = 0;
|
end.column = 0;
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class CalcLexer implements Calc.Lexer {
|
|||||||
int ttype = st.nextToken();
|
int ttype = st.nextToken();
|
||||||
switch (ttype) {
|
switch (ttype) {
|
||||||
case StreamTokenizer.TT_EOF:
|
case StreamTokenizer.TT_EOF:
|
||||||
return EOF;
|
return YYEOF;
|
||||||
case StreamTokenizer.TT_EOL:
|
case StreamTokenizer.TT_EOL:
|
||||||
return (int) '\n';
|
return (int) '\n';
|
||||||
case StreamTokenizer.TT_WORD:
|
case StreamTokenizer.TT_WORD:
|
||||||
|
|||||||
@@ -392,7 +392,7 @@ m4_define([AT_CALC_YYLEX(java)],
|
|||||||
switch (tkind)
|
switch (tkind)
|
||||||
{
|
{
|
||||||
case StreamTokenizer.TT_EOF:
|
case StreamTokenizer.TT_EOF:
|
||||||
return EOF;
|
return CALC_EOF;
|
||||||
case StreamTokenizer.TT_EOL:;]AT_LOCATION_IF([[
|
case StreamTokenizer.TT_EOL:;]AT_LOCATION_IF([[
|
||||||
end.line += 1;
|
end.line += 1;
|
||||||
end.column = 0;]])[
|
end.column = 0;]])[
|
||||||
|
|||||||
Reference in New Issue
Block a user