super fast parsing ================== top levels: - should be easy statements: - TYPE -> variable definition - "type" -> typedef - CTL KEYWORD -> control statement - IDENT -> toplevel-ok expr toplevel-ok expr: - IDENT "(" -> function expr - IDENT "[" -> index expr - IDENT "." -> member expr - IDENT ASSIGN-OP -> assign expr - "[" -> array literal - "." IDENT -> typeident plain expr: - IDENT "(" -> function expr - IDENT "[" -> index expr - IDENT "." -> member expr - "[" -> array literal - "." IDENT -> typeident - IDENT BINARY-OP -> - LITERAL BINARY-OP -> - "(" -> wrapped expr ... and "return" from function/index/member expr, and things like "get_data().xyz[123]" function expr: -