]> git.saurik.com Git - bison.git/blobdiff - data/c.m4
* bootstrap (gnulib_modules): Add strverscmp.
[bison.git] / data / c.m4
index 2a3218bf07de67f88d9313de99b24086ca4ba856..03f20ff79616dffc9a35b31155f3cc736d9d5fc8 100644 (file)
--- a/data/c.m4
+++ b/data/c.m4
@@ -138,6 +138,15 @@ m4_define([b4_int_type_for],
 ## ------------------ ##
 
 
+# b4_error_verbose_if(IF-TRUE, IF-FALSE)
+# --------------------------------------
+# Expand IF-TRUE, if errors are verbose, IF-FALSE otherwise.
+m4_define([b4_error_verbose_if],
+[m4_if(b4_error_verbose, [1],
+       [$1],
+       [$2])])
+
+
 # b4_location_if(IF-TRUE, IF-FALSE)
 # ---------------------------------
 # Expand IF-TRUE, if locations are used, IF-FALSE otherwise.
@@ -169,6 +178,16 @@ m4_define([b4_token_define],
 ])
 
 
+# b4_token_defines(LIST-OF-PAIRS-TOKEN-NAME-TOKEN-NUMBER)
+# -------------------------------------------------------
+# Output the definition of the tokens (if there are) as #defines.
+m4_define([b4_token_defines],
+[m4_if([$@], [[]], [],
+[/* Tokens.  */
+m4_map([b4_token_define], [$@])])
+])
+
+
 # b4_token_enum(TOKEN-NAME, TOKEN-NUMBER)
 # ---------------------------------------
 # Output the definition of this token as an enum.
@@ -176,10 +195,10 @@ m4_define([b4_token_enum],
 [$1 = $2])
 
 
-# b4_token_defines(LIST-OF-PAIRS-TOKEN-NAME-TOKEN-NUMBER)
-# -------------------------------------------------------
-# Output the definition of the tokens (if there are) as enums and #define.
-m4_define([b4_token_defines],
+# b4_token_enums(LIST-OF-PAIRS-TOKEN-NAME-TOKEN-NUMBER)
+# -----------------------------------------------------
+# Output the definition of the tokens (if there are) as enums.
+m4_define([b4_token_enums],
 [m4_if([$@], [[]], [],
 [/* Tokens.  */
 #ifndef YYTOKENTYPE
@@ -192,8 +211,14 @@ m4_map_sep([     b4_token_enum], [,
            [$@])
    };
 #endif
-m4_map([b4_token_define], [$@])
-])
+])])
+
+
+# b4_token_enums_defines(LIST-OF-PAIRS-TOKEN-NAME-TOKEN-NUMBER)
+# -------------------------------------------------------------
+# Output the definition of the tokens (if there are) as enums and #defines.
+m4_define([b4_token_enums_defines],
+[b4_token_enums($@)b4_token_defines($@)
 ])
 
 
@@ -348,7 +373,7 @@ m4_popdef([b4_dollar_dollar])dnl
 # Generate the "yydestruct" function, which declaration is issued using
 # FUNCTION-DECLARATOR, which may be "b4_c_ansi_function_def" for ISO C
 # or "b4_c_function_def" for K&R.
-m4_define([b4_yydestruct_generate],
+m4_define_default([b4_yydestruct_generate],
 [[/*-----------------------------------------------.
 | Release the memory associated to this symbol.  |
 `-----------------------------------------------*/
@@ -383,7 +408,7 @@ m4_define([b4_yydestruct_generate],
 # Generate the "yysymprint" function, which declaration is issued using
 # FUNCTION-DECLARATOR, which may be "b4_c_ansi_function_def" for ISO C
 # or "b4_c_function_def" for K&R.
-m4_define([b4_yysymprint_generate],
+m4_define_default([b4_yysymprint_generate],
 [[/*--------------------------------.
 | Print this symbol on YYOUTPUT.  |
 `--------------------------------*/