treerack/sexpr.parser
2017-10-28 23:21:52 +02:00

9 lines
375 B
Plaintext

whitespace:ws = [ \b\f\n\r\t\v];
comment:alias:ws = ";" [^\n]*;
number:nows = "-"? ("0" | [1-9][0-9]*) ("." [0-9]+)? ([eE] [+\-]? [0-9]+)?;
string:nows = "\"" ([^\\"] | "\\" .)* "\"";
symbol:nows = ([^\\ \n\t\b\f\r\v\"()] | "\\" .)+;
list = "(" expression* ")";
expression:alias = number | string | symbol | list;
s-expression = expression;