mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 17:53:02 +00:00
* data/c.m4 (b4_null, b4_case): Define.
* src/output.c (prepare_symbols): Use b4_null. (user_actions_output): Use b4_case.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2006-09-12 Paolo Bonzini <bonzini@gnu.org> (tiny change)
|
||||||
|
|
||||||
|
* data/c.m4 (b4_null, b4_case): Define.
|
||||||
|
* src/output.c (prepare_symbols): Use b4_null.
|
||||||
|
(user_actions_output): Use b4_case.
|
||||||
|
|
||||||
2006-09-11 Paul Eggert <eggert@cs.ucla.edu>
|
2006-09-11 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
* data/glr.c (b4_shared_declarations): Put start-header first,
|
* data/glr.c (b4_shared_declarations): Put start-header first,
|
||||||
|
|||||||
22
data/c.m4
22
data/c.m4
@@ -81,7 +81,6 @@ m4_define([b4_identification],
|
|||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## ---------------- ##
|
## ---------------- ##
|
||||||
## Default values. ##
|
## Default values. ##
|
||||||
## ---------------- ##
|
## ---------------- ##
|
||||||
@@ -100,7 +99,6 @@ m4_define_default([b4_location_initial_line], [1])
|
|||||||
## Pure/impure interfaces. ##
|
## Pure/impure interfaces. ##
|
||||||
## ------------------------ ##
|
## ------------------------ ##
|
||||||
|
|
||||||
|
|
||||||
# b4_user_args
|
# b4_user_args
|
||||||
# ------------
|
# ------------
|
||||||
m4_define([b4_user_args],
|
m4_define([b4_user_args],
|
||||||
@@ -137,11 +135,11 @@ m4_define([b4_parse_param_use],
|
|||||||
])dnl
|
])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
## ------------ ##
|
## ------------ ##
|
||||||
## Data Types. ##
|
## Data Types. ##
|
||||||
## ------------ ##
|
## ------------ ##
|
||||||
|
|
||||||
|
|
||||||
# b4_ints_in(INT1, INT2, LOW, HIGH)
|
# b4_ints_in(INT1, INT2, LOW, HIGH)
|
||||||
# ---------------------------------
|
# ---------------------------------
|
||||||
# Return 1 iff both INT1 and INT2 are in [LOW, HIGH], 0 otherwise.
|
# Return 1 iff both INT1 and INT2 are in [LOW, HIGH], 0 otherwise.
|
||||||
@@ -173,6 +171,17 @@ m4_define([b4_int_type_for],
|
|||||||
[b4_int_type($1_min, $1_max)])
|
[b4_int_type($1_min, $1_max)])
|
||||||
|
|
||||||
|
|
||||||
|
## ---------##
|
||||||
|
## Values. ##
|
||||||
|
## ---------##
|
||||||
|
|
||||||
|
# b4_null
|
||||||
|
---------
|
||||||
|
# Return a null pointer constant. NULL infringes on the user name
|
||||||
|
# space in C, so use 0 rather than NULL.
|
||||||
|
m4_define([b4_null], [0])
|
||||||
|
|
||||||
|
|
||||||
## ------------------ ##
|
## ------------------ ##
|
||||||
## Decoding options. ##
|
## Decoding options. ##
|
||||||
## ------------------ ##
|
## ------------------ ##
|
||||||
@@ -458,6 +467,13 @@ b4_define_user_code([stype])
|
|||||||
## User actions. ##
|
## User actions. ##
|
||||||
## -------------- ##
|
## -------------- ##
|
||||||
|
|
||||||
|
# b4_case(LABEL, STATEMENTS)
|
||||||
|
# --------------------------
|
||||||
|
m4_define([b4_case],
|
||||||
|
[ case $1:
|
||||||
|
$2
|
||||||
|
break;])
|
||||||
|
|
||||||
# b4_symbol_actions(FILENAME, LINENO,
|
# b4_symbol_actions(FILENAME, LINENO,
|
||||||
# SYMBOL-TAG, SYMBOL-NUM,
|
# SYMBOL-TAG, SYMBOL-NUM,
|
||||||
# SYMBOL-ACTION, SYMBOL-TYPENAME)
|
# SYMBOL-ACTION, SYMBOL-TYPENAME)
|
||||||
|
|||||||
16
src/output.c
16
src/output.c
@@ -176,9 +176,7 @@ prepare_symbols (void)
|
|||||||
obstack_1grow (&format_obstack, ',');
|
obstack_1grow (&format_obstack, ',');
|
||||||
j += width;
|
j += width;
|
||||||
}
|
}
|
||||||
/* Add a NULL entry to list of tokens (well, 0, as NULL might not be
|
obstack_sgrow (&format_obstack, " ]b4_null[");
|
||||||
defined). */
|
|
||||||
obstack_sgrow (&format_obstack, " 0");
|
|
||||||
|
|
||||||
/* Finish table and store. */
|
/* Finish table and store. */
|
||||||
obstack_1grow (&format_obstack, 0);
|
obstack_1grow (&format_obstack, 0);
|
||||||
@@ -290,20 +288,16 @@ user_actions_output (FILE *out)
|
|||||||
{
|
{
|
||||||
rule_number r;
|
rule_number r;
|
||||||
|
|
||||||
fputs ("m4_define([b4_actions], \n[[", out);
|
fputs ("m4_define([b4_actions], \n[", out);
|
||||||
for (r = 0; r < nrules; ++r)
|
for (r = 0; r < nrules; ++r)
|
||||||
if (rules[r].action)
|
if (rules[r].action)
|
||||||
{
|
{
|
||||||
fprintf (out, " case %d:\n", r + 1);
|
fprintf (out, "b4_case(%d, [b4_syncline(%d, ", r + 1,
|
||||||
|
|
||||||
fprintf (out, "]b4_syncline(%d, ",
|
|
||||||
rules[r].action_location.start.line);
|
rules[r].action_location.start.line);
|
||||||
escaped_output (out, rules[r].action_location.start.file);
|
escaped_output (out, rules[r].action_location.start.file);
|
||||||
fprintf (out, ")[\n");
|
fprintf (out, ")\n[ %s]])\n\n", rules[r].action);
|
||||||
fprintf (out, " %s\n break;\n\n",
|
|
||||||
rules[r].action);
|
|
||||||
}
|
}
|
||||||
fputs ("]])\n\n", out);
|
fputs ("])\n\n", out);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------.
|
/*--------------------------------------.
|
||||||
|
|||||||
Reference in New Issue
Block a user