namespaces & structs
This commit is contained in:
@@ -8,13 +8,17 @@ MATH: '+' | '-' | '*' | '/';
|
||||
fragment ESC: '\\' ['"\\] ;
|
||||
STRING: '"' (ESC | ~["\\])* '"';
|
||||
round_def: '(' (var_def (',' var_def)* ','?)? ')';
|
||||
enum_curly: '{' (var_def ';')* '}';
|
||||
round_call: '(' (expr (',' expr)* ','?)? ')';
|
||||
fn_call: IDENTIFIER round_call;
|
||||
func_def: IDENTIFIER IDENTIFIER round_def code_block;
|
||||
var_def: IDENTIFIER IDENTIFIER;
|
||||
var_def_set: var_def '=' expr;
|
||||
call_tree: (fn_call|IDENTIFIER) ('.' (fn_call|IDENTIFIER))*;
|
||||
asm: '%' IDENTIFIER expr (',' expr)* ';';
|
||||
struct_def: 'struct' IDENTIFIER enum_curly;
|
||||
power_keyword: 'map';
|
||||
power_keyword_call: '#' power_keyword expr (',' expr)* ';';
|
||||
namespace: 'namespace' IDENTIFIER '{' (((var_def|var_def_set) ';')|func_def)* '}';
|
||||
|
||||
expr:
|
||||
(
|
||||
@@ -30,4 +34,9 @@ code_block: '{' ((
|
||||
var_def |
|
||||
var_def_set
|
||||
) ';')* '}';
|
||||
top: (asm|func_def)*;
|
||||
top: (
|
||||
power_keyword_call |
|
||||
func_def |
|
||||
struct_def |
|
||||
namespace
|
||||
)*;
|
||||
Reference in New Issue
Block a user