diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2019-01-04 07:43:37 +0100 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2019-01-05 12:28:28 +0100 |
commit | 230d6c5160a865455c35ab42625a65e9d63c8737 (patch) | |
tree | b24984001799e18d92d8d7d36a0abf55237819fa /data/skeletons/d.m4 | |
parent | eb2b5aef0a2851063e49a2d68eacdc664964b0a9 (diff) | |
download | bison-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.m4 | 37 |
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 # ----------------- |