]> git.saurik.com Git - bison.git/blobdiff - data/c.m4
skel: correctly indent switch cases
[bison.git] / data / c.m4
index 89ad4fd14acf517bb40ae9bff3e3840ac277b3b4..accf0477a3f20ce2f0846d894a5852efc2136644 100644 (file)
--- a/data/c.m4
+++ b/data/c.m4
@@ -51,26 +51,6 @@ m4_define([b4_cpp_guard_close],
 ## Identification.  ##
 ## ---------------- ##
 
-# b4_comment_(TEXT, OPEN, CONTINUE, END)
-# --------------------------------------
-# Put TEXT in comment.  Avoid trailing spaces: don't indent empty lines.
-# Avoid adding indentation to the first line, as the indentation comes
-# from OPEN.  That's why we don't patsubst([$1], [^\(.\)], [   \1]).
-#
-# Prefix all the output lines with PREFIX.
-m4_define([b4_comment_],
-[$2[]m4_bpatsubst(m4_expand([$1]), [
-\(.\)], [
-$3\1])$4])
-
-
-# b4_comment(TEXT, [PREFIX])
-# --------------------------
-# Put TEXT in comment.  Prefix all the output lines with PREFIX.
-m4_define([b4_comment],
-[b4_comment_([$1], [$2/* ], [$2   ], [  */])])
-
-
 # b4_identification
 # -----------------
 # Depends on individual skeletons to define b4_pure_flag, b4_push_flag, or
@@ -124,6 +104,23 @@ m4_define_default([b4_union_name], [b4_api_PREFIX[]STYPE])
 ## Pure/impure interfaces.  ##
 ## ------------------------ ##
 
+# b4_lex_formals
+# --------------
+# All the yylex formal arguments.
+# b4_lex_param arrives quoted twice, but we want to keep only one level.
+m4_define([b4_lex_formals],
+[b4_pure_if([[[[YYSTYPE *yylvalp]], [[&yylval]]][]dnl
+b4_locations_if([, [[YYLTYPE *yyllocp], [&yylloc]]])])dnl
+m4_ifdef([b4_lex_param], [, ]b4_lex_param)])
+
+
+# b4_lex
+# ------
+# Call yylex.
+m4_define([b4_lex],
+[b4_function_call([yylex], [int], b4_lex_formals)])
+
+
 # b4_user_args
 # ------------
 m4_define([b4_user_args],
@@ -229,7 +226,7 @@ m4_define([b4_null], [YY_NULL])
 
 # b4_integral_parser_table_define(TABLE-NAME, CONTENT, COMMENT)
 # -------------------------------------------------------------
-# Define "yy<TABLE-NAME>" which contents is CONTENT.
+# Define "yy<TABLE-NAME>" whose contents is CONTENT.
 m4_define([b4_integral_parser_table_define],
 [m4_ifvaln([$3], [b4_comment([$3], [  ])])dnl
 static const b4_int_type_for([$2]) yy$1[[]] =