Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- s_expression = atom | quote | quasiquote | unquote | comment | cons | list;
- quote = "'", s_expression;
- quasiquote = "`", s_expression;
- unquote = ",", s_expression;
- cons = "(", s_expression, ".", s_expression, ")";
- list = "(", {s_expression}, ")";
- atom = package_symbol | symbol | literal | standard_rm;
- package_symbol = [symbol], ":", symbol;
- symbol = letter, {letter | number};
- comment = ";" ?characters? "\n";
- literal = string_literal | integer_literal | float_literal | rational_literal;
- string_literal = """ ?string? """;
- integer_literal = ["+"|"-"] {number};
- float_literal = integer "." {number}; (* 123.4567 *)
- rational_literal = integer "|" {number}; (* 8|9 -2|3 *)
- standard_rm = "#", (char_literal | sharp_plus_minus | sharp_dot);
- char_literal = "\", string; (* #\Space #\Newline #\2 #\a и т.д. *)
- sharp_plus_minus = ("+"|"-"), s_expression, s_expresion;
- sharp_dot = ".", s_expression;
- letter = "a" | "b" | " ..." | "z";
- number = "1" | "2" | " ..." | "9";
Advertisement
Add Comment
Please, Sign In to add comment