aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--steuermann/specfile.exy12
1 files changed, 8 insertions, 4 deletions
diff --git a/steuermann/specfile.exy b/steuermann/specfile.exy
index 4353069..73a5b20 100644
--- a/steuermann/specfile.exy
+++ b/steuermann/specfile.exy
@@ -55,14 +55,18 @@ parser specfile:
##
rule hostgroup_def :
HOSTGROUP hostgroup {{ nodes.define_hostgroup( hostgroup) }}
- ( hostgroup_if<<hostgroup>> )+
+ ( hostgroup_front<<hostgroup>> hostgroup_back<<hostgroup,hostgroup_front>> )+
- rule hostgroup_if<<hg>> :
+ rule hostgroup_front<<hg>> :
IF name
- {{ accept_nodes = nodes.check_condition(name, self._scanner.filename ) }}
+ {{ return nodes.check_condition(name, self._scanner.filename ) }}
+ | {{ return True }}
+
+ rule hostgroup_back<<hg,accept_nodes>> :
COLON (
name {{ if accept_nodes : nodes.add_hostgroup( hg, name ) }}
- )+
+ | hostgroup {{ if accept_nodes : nodes.add_hostgroup( hg, hostgroup ) }}
+ )*
rule command_list:
# one or more commands, appended together into a list