From: Stefan Bühler Date: Mon, 18 Nov 2013 19:04:25 +0000 (+0100) Subject: fix bindparser reduce conflicts X-Git-Tag: rec-3.6.0-rc1~337 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=df58857e7ab7a43ff20460db3251068a094cca69;p=pdns fix bindparser reduce conflicts resolve reduce conflicts to what yacc defaulted to: * 'root_command' included 'command' directly and through 'options_command' and 'zone_command'; separate option/zone commands for global usage, which don't include 'command' anymore. * 'command' included 'also_notify' and 'zone_also_notify'; yacc resolved conflict by defaulting to 'also_notify'; removed 'zone_also_notify' from global zone commands. --- diff --git a/pdns/bindparser.yy b/pdns/bindparser.yy index 5e2ff5dfc..4b9340e2f 100644 --- a/pdns/bindparser.yy +++ b/pdns/bindparser.yy @@ -110,7 +110,7 @@ root_commands: root_commands root_command SEMICOLON ; -root_command: command | acl_command | zone_command | options_command +root_command: command | acl_command | global_zone_command | global_options_command ; commands: @@ -122,7 +122,7 @@ command: terms ; -zone_command: +global_zone_command: ZONETOK quotedname zone_block { s_di.name=stripDot($2); @@ -141,7 +141,7 @@ zone_command: ; -options_command: +global_options_command: OPTIONSTOK OBRACE options_commands EBRACE | LOGGINGTOK OBRACE options_commands EBRACE @@ -169,7 +169,10 @@ options_commands: options_command SEMICOLON options_commands ; -options_command: command | options_directory_command | also_notify_command +options_command: command | global_options_command + ; + +global_options_command: options_directory_command | also_notify_command ; options_directory_command: DIRECTORYTOK quotedname @@ -208,12 +211,19 @@ zone_block: OBRACE zone_commands EBRACE ; -zone_commands: +zone_commands: | zone_commands zone_command SEMICOLON ; -zone_command: command | zone_file_command | zone_type_command | zone_masters_command | zone_also_notify_command +/* commands in zone + * in global scope also_notify_command is used instead of zone_also_notify_command + */ +zone_command: command | global_zone_command | zone_also_notify_command + ; + +/* zone commands that also are available at global scope */ +global_zone_command: zone_file_command | zone_type_command | zone_masters_command ; zone_masters_command: MASTERTOK OBRACE masters EBRACE