X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/a3764451d3188132ed22f622ba0d35edd6e386cd..b328890a9e62573176b34279fb59f0b97935f33a:/data/c.m4 diff --git a/data/c.m4 b/data/c.m4 index ced2b1e2..1fe4bc56 100644 --- a/data/c.m4 +++ b/data/c.m4 @@ -90,7 +90,7 @@ b4_parse_param) # the formal name to FORMAL, and evaluating the BODY. m4_define([b4_parse_param_for], [m4_foreach([$1_$2], m4_defn([b4_parse_param]), -[m4_pushdef([$1], m4_fst($1_$2))dnl +[m4_pushdef([$1], m4_unquote(m4_car($1_$2)))dnl m4_pushdef([$2], m4_shift($1_$2))dnl $3[]dnl m4_popdef([$2])dnl @@ -133,6 +133,8 @@ m4_define([b4_int_type], m4_define([b4_int_type_for], [b4_int_type($1_min, $1_max)]) + + ## ---------## ## Values. ## ## ---------## @@ -144,6 +146,8 @@ m4_define([b4_int_type_for], m4_define([b4_null], [0]) + + ## ------------------------- ## ## Assigning token numbers. ## ## ------------------------- ## @@ -160,7 +164,7 @@ m4_define([b4_token_define], # ------------------------------------------------------- # Output the definition of the tokens (if there are) as #defines. m4_define([b4_token_defines], -[m4_if([$@], [[]], [], +[m4_if([$#$1], [1], [], [/* Tokens. */ m4_map([b4_token_define], [$@])]) ]) @@ -177,7 +181,7 @@ m4_define([b4_token_enum], # ----------------------------------------------------- # Output the definition of the tokens (if there are) as enums. m4_define([b4_token_enums], -[m4_if([$@], [[]], [], +[m4_if([$#$1], [1], [], [/* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE @@ -248,9 +252,8 @@ $1 (b4_c_ansi_formals(m4_shift2($@)))[]dnl # -------------------------------------- # Output the arguments ANSI-C definition. m4_define([b4_c_ansi_formals], -[m4_case([$@], - [], [void], - [[]], [void], +[m4_if([$#], [0], [void], + [$#$1], [1], [void], [m4_map_sep([b4_c_ansi_formal], [, ], [$@])])]) m4_define([b4_c_ansi_formal],