Ebnfqsp.txt 593 B

123456789101112
  1. ws = " " {" "}
  2. "a" = "a" ws
  3. 'a' = 'a' {" "}
  4. Если нечто в кавычках - то после него обязательно следует как минимум один пробел, если в апострофах - 0 или больше пробелов
  5. escape symbol - "\"
  6. ident = ["*" | "$"] (underscore | letter) {letter | digit | underscore}
  7. assign = ["set" | "let"] ident ['[' expr ']'] ('=' ['+'|'-'] | ('+'|'-') '=') exprNotStartWithNeg
  8. call = ident exprNotStartWithNeg {"," expr}
  9. commentOp = "!" { ^("'"| nl | '"') | "'" { ^"'" | "''" } "'" | '"' { ^'"' | '""' } '"' }