include and use

This commit is contained in:
2024-08-21 19:47:08 +02:00
parent 2f7cdb97cc
commit b3ef058080
11 changed files with 582 additions and 573 deletions
+7 -5
View File
@@ -3,7 +3,7 @@ grammar Wyst;
WS: [ \t\r\n]+ -> skip;
NUMBER: [1-9][0-9]* | '0';
HEX: '0x' [a-fA-F0-9]*;
IDENTIFIER: [a-zA-Z_] ([a-zA-Z0-9_] | '::')*;
IDENTIFIER: [a-zA-Z_] [a-zA-Z0-9_]* ('::' [a-zA-Z_] [a-zA-Z0-9_]*)*;
MATH: '+' | '-' | '*' | '/';
fragment ESC: '\\' ['"\\] ;
STRING: '"' (ESC | ~["\\])* '"';
@@ -16,9 +16,9 @@ var_def: IDENTIFIER IDENTIFIER;
var_def_set: var_def '=' expr;
call_tree: (fn_call|IDENTIFIER) ('.' (fn_call|IDENTIFIER))*;
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)* '}';
import_statement: 'include' IDENTIFIER ';';
use_statement: 'use' IDENTIFIER ';';
expr:
(
@@ -34,9 +34,11 @@ code_block: '{' ((
var_def |
var_def_set
) ';')* '}';
top: (
power_keyword_call |
func_def |
struct_def |
namespace
namespace |
import_statement |
use_statement
)*;