diff options
-rw-r--r-- | steuermann/specfile.exy | 12 |
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 |