diff options
Diffstat (limited to 'steuermann/specfile.exy')
-rw-r--r-- | steuermann/specfile.exy | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/steuermann/specfile.exy b/steuermann/specfile.exy index 8dd42a3..5dc715f 100644 --- a/steuermann/specfile.exy +++ b/steuermann/specfile.exy @@ -20,6 +20,7 @@ parser specfile: token tablename: "[a-zA-Z0-9_.-]+" token wildname: "[*?a-zA-Z0-9_.-]+" token RUN: "RUN" + token LOCAL: "LOCAL" token string: '"[^"]*"' token SLASH: "/" token COLON: ":" @@ -49,9 +50,9 @@ parser specfile: rule command: # a single command, including any number of AFTER clauses CMD {{ cmd_pos = self._scanner.get_pos() }} cmdname {{ cmd_name=cmdname; script=cmdname; x_after_clause = [ ] }} - [ RUN string {{ script = string[1:-1] }} ] + [ RUN string {{ script = string[1:-1]; script_type='r' }} | LOCAL string {{ script = string[1:-1]; script_type='l' }} ] ( {{ after_pos = self._scanner.get_pos() }} AFTER optword after_spec {{ x_after_clause.append( (after_spec,optword, after_pos) ) }} )* - {{ return ( cmd_name, script, x_after_clause, cmd_pos ) }} + {{ return ( cmd_name, script, script_type, x_after_clause, cmd_pos ) }} # in the AFTER clause, you can say OPT to mean the node is optional (not an error if it does not exist) rule optword: |