summaryrefslogtreecommitdiff
path: root/data/skeletons/d.m4
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2019-01-04 07:43:37 +0100
committerAkim Demaille <akim.demaille@gmail.com>2019-01-05 12:28:28 +0100
commit230d6c5160a865455c35ab42625a65e9d63c8737 (patch)
treeb24984001799e18d92d8d7d36a0abf55237819fa /data/skeletons/d.m4
parenteb2b5aef0a2851063e49a2d68eacdc664964b0a9 (diff)
downloadbison-230d6c5160a865455c35ab42625a65e9d63c8737.tar.gz
java/d: remove useless macros
There are many macros that are defined and used just once (b4_public_if, b4_abstract_if, etc.). That's overkill. Rather, let's define a macro to build the "public class YYParser" line. It appears that the same syntax with "extends", "abstract", etc. is implemented in the D parser, which looks very fishy... * data/skeletons/d.m4, data/skeletons/java.m4 (b4_public_if) (b4_abstract_if, b4_final_if, b4_strictfp_if): Replace with (b4_parser_class_declaration): this. * data/skeletons/lalr1.d, data/skeletons/lalr1.java: Adjust.
Diffstat (limited to 'data/skeletons/d.m4')
-rw-r--r--data/skeletons/d.m437
1 files changed, 18 insertions, 19 deletions
diff --git a/data/skeletons/d.m4 b/data/skeletons/d.m4
index 163cb89d..c9444e15 100644
--- a/data/skeletons/d.m4
+++ b/data/skeletons/d.m4
@@ -46,25 +46,22 @@ m4_define([b4_percent_define_get3],
m4_define([b4_flag_value], [b4_flag_if([$1], [true], [false])])
-# b4_public_if(TRUE, FALSE)
-# -------------------------
-b4_percent_define_default([[public]], [[false]])
-m4_define([b4_public_if],
-[b4_percent_define_flag_if([public], [$1], [$2])])
-
-
-# b4_abstract_if(TRUE, FALSE)
+# b4_parser_class_declaration
# ---------------------------
+# The declaration of the parser class ("class YYParser"), with all its
+# qualifiers/annotations.
+b4_percent_define_default([[public]], [[false]])
b4_percent_define_default([[abstract]], [[false]])
-m4_define([b4_abstract_if],
-[b4_percent_define_flag_if([abstract], [$1], [$2])])
+b4_percent_define_default([[final]], [[false]])
-
-# b4_final_if(TRUE, FALSE)
-# ---------------------------
-b4_percent_define_default([[final]], [[false]])
-m4_define([b4_final_if],
-[b4_percent_define_flag_if([final], [$1], [$2])])
+m4_define([b4_parser_class_declaration],
+[b4_percent_define_get3([annotations], [], [ ])dnl
+b4_percent_define_flag_if([public], [public ])dnl
+b4_percent_define_flag_if([abstract], [abstract ])dnl
+b4_percent_define_flag_if([final], [final ])dnl
+[class ]b4_parser_class[]dnl
+b4_percent_define_get3([extends], [ extends ])dnl
+b4_percent_define_get3([implements], [ implements ])])
# b4_lexer_if(TRUE, FALSE)
@@ -74,20 +71,22 @@ m4_define([b4_lexer_if],
# b4_position_type_if(TRUE, FALSE)
-# ------------------------
+# --------------------------------
m4_define([b4_position_type_if],
[b4_percent_define_ifdef([[position_type]], [$1], [$2])])
# b4_location_type_if(TRUE, FALSE)
-# ------------------------
+# --------------------------------
m4_define([b4_location_type_if],
[b4_percent_define_ifdef([[location_type]], [$1], [$2])])
# b4_locations_if(TRUE, FALSE)
+# ----------------------------
m4_define([b4_locations_if],
-[m4_if(b4_locations_flag,1,[$1],[$2])])
+[m4_if(b4_locations_flag, 1, [$1], [$2])])
+
# b4_identification
# -----------------