Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program = empty list | proper list.
- empty list = {white space}.
- proper list = datum, [";", proper list].
- datum = form | expression.
- form = operator, (form | expressions)
- | (form | expressions), operator, [(form | expressions)].
- operator = identifier.
- identifier = <any unicode non-digit, non-separator character>
- {<any unicode non-separator character>}.
- expressions = (expression | block), [expressions].
- block = "(", proper list ")".
- expression = variable | literal | compound expression.
- variable = identifier.
- literal = atom | number | string.
- atom = "#" (identifier | string).
- number = [sign] digits ["." digits].
- digits = digit {digit}.
- digit = "0" | ... | "9".
- compound expression = list | vector | function call | method call.
- list = "{", (empty list | (proper list, [".", datum])), "}".
- vector = "#{", (empty list | proper list), "}".
- function call = expression, "[", (empty list | proper list), "]".
- method call = expression, atom, "[", (empty list | proper list), "]".
Advertisement
Add Comment
Please, Sign In to add comment