GrammarΒΆ
The following EBNF Grammar defines the Syntax for mio:
operator ::= "**" | "++" | "--" | "+=" | "-=" | "*=" | "/=" | "<<" | ">>" | "==" | "!=" | "<=" | ">=" | "+" | "-" | "*" | "/" | "=" | "<" | ">" | "!" | "%" | "|" | "^" | "&" | "is" | "or" | "and" | "not" | "return" comment ::= r"^#.*$" whitespace ::= r"[ \t]+" string ::= r'"[^"]*"' number ::= r'-?([0-9]+(\.[0-9]*)?)' identifier ::= r'[A-Za-z_][A-Za-z0-9_]*' terminator ::= ";" | "\r" | "\n" expression ::= (message | terminator)* message ::= (symbol, [ arguments ]) | arguments opening ::= "(" | "{" | "[" closing ::= ")" | "}" | "]" arguments ::= opening , ( expression, ( "," , expression )* )* , closing symbol ::= identifier | number | operator | string