diff --git a/grammar b/grammar index 8350625..07c728e 100644 --- a/grammar +++ b/grammar @@ -5,33 +5,52 @@ CHAR = ... \ '"' PITCH = 'c' | 'd' | 'e' | 'f' | 'g' | 'a' | 'h' PITCH_MODIFIER = 'b' | '#' - := '-' DIGIT+ | DIGIT+ - := '"' CHAR* '"' - := '@' PITCH PITCH_MODIFIER? DIGIT? ['.' DIGIT+ 'd'?]? - := ID [ID|DIGIT]* + ::= '-' DIGIT+ | DIGIT+ + ::= '"' CHAR* '"' + ::= '@' PITCH PITCH_MODIFIER? DIGIT? [':' DIGIT+ 'd'?]? + ::= ID [ID|DIGIT]* + ::= 'integer' | 'string' | 'note' | 'list' | 'void' # Parser - := | - := | - := | - := | '=' | | - := | + ::= | + ::= | + ::= | + ::= | '=' | | + ::= | + ::= '.' | '.' + ::= '*' + ::= | | | | - := '.' | e + ::= - := '[' ']' | '[' - := ', ' | ']' + ::= '[' ']' | '[' + ::= ', ' | ']' - := '(' ')' | '(' - := ', ' | ')' + ::= '(' ')' | '(' + ::= ', ' | ')' -block := '{' * '}' + ::= '(' ')' | '(' + ::= ', ' | ')' - := | #nie wiem czy zamiast ' ' nie powinno być wprost co może wyprodukować iterator dla asterisk - := '*' | e - := - := 'return' - := 'function' block + ::= ? - := * + ::= '<' '>' | '<' + ::= ', ' | '>' + ::= | + + ::= '{' * '}' + + ::= + ::= 'return' + ::= + + ::= 'function' + + ::= 'extend' 'as' '{' '}' + + ::= 'import' | 'import' 'from' 'as' + + ::= | | | | + + ::= *