packages feed

scc-0.3: grammar.bnf

Expression ::=
     Step {";" Step}
   | Step {"&" Step}.

Step ::=
   Term {"|" Term}.

Term ::=
   PrefixTerm
   [  {"&&" PrefixTerm}
    | {"||" PrefixTerm}
    | {">&" PrefixTerm}
    | {">|" PrefixTerm}
    | {">," PrefixTerm}
    | "having" PrefixTerm
    | "having-only" PrefixTerm
    | "XML.having-text" PrefixTerm
    | "XML.having-only-text" PrefixTerm
    | "..." PrefixTerm].

PrefixTerm ::=
     Primary
   | "XML.element-having-tag" PrefixTerm
   | "first"      PrefixTerm
   | "last"       PrefixTerm
   | "prefix"     PrefixTerm
   | "suffix"     PrefixTerm
   | "start-of"   PrefixTerm
   | "end-of"     PrefixTerm
   | "prepend"    PrefixTerm
   | "append"     PrefixTerm
   | "substitute" PrefixTerm
   | "select"     PrefixTerm
   | ">!"         PrefixTerm.

Primary ::=
     "(" Expression ")"
   | ">" File
   | ">>" File
   | "cat" Parameters
   | "concatenate"
   | "count"
   | "digits"
   | "echo" Parameters
   | "error" [String]
   | "execute"
   | "everything"
   | "exit"
   | "foreach" Expression "then" Expression ["else" Expression] "end" ["foreach"].
   | "group"
   | "id"
   | "if" Expression "then" Expression ["else" Expression] "end" ["if"]
   | "letters"
   | "line"
   | "ls" Parameters
   | "marked"
   | "nested" Expression "in" Expression "end" ["nested"]
   | "nothing"
   | "stdin"
   | "substring" String
   | "suppress"
   | "unparse"
   | "uppercase"
   | "while" Expression "do" Expression "end" ["while"]
   | "whitespace"
   | "XML.parse"
   | "XML.element"
   | "XML.attribute"
   | "XML.attribute-name"
   | "XML.attribute-value"
   | "XML.element-content"
   | "XML.element-name"
   | "{" [String {"," String}] "}"
   | NativeCommand.