# Tokenizer DIGIT = [0-9] ID = [a-zA-Z_] CHAR = ... \ '"' PITCH = 'c' | 'd' | 'e' | 'f' | 'g' | 'a' | 'h' PITCH_MODIFIER = 'b' | '#' := '-' DIGIT+ | DIGIT+ := '"' CHAR* '"' := '@' PITCH PITCH_MODIFIER? DIGIT? ['.' DIGIT+ 'd'?]? := ID [ID|DIGIT]* # Parser := | := | := | := | '=' | | := | := '.' | e := '[' ']' | '[' := ', ' | ']' := '(' ')' | '(' := ', ' | ')' block := '{' * '}' := | #nie wiem czy zamiast ' ' nie powinno być wprost co może wyprodukować iterator dla asterisk := '*' | e := := 'return' := 'function' block := *