diff options
Diffstat (limited to 'Toc.g4')
| -rw-r--r-- | Toc.g4 | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -5,8 +5,11 @@ prog: (decl)+ EOF; decl: varDecl ';'
| funcDecl
| structDecl
+ | namespaceDecl
;
+namespaceDecl: 'namespace' typeName '{' decl* '}';
+
varDecl: 'var' var;
var: varName (':' type) ('=' expr)?;
varInit: varName (':' type) ('=' expr);
@@ -23,9 +26,10 @@ body: '{' stmt* '}'; structDecl: 'struct' structName genericDecl? '{' structMember* '}';
-structMember: structVar | structMethod;
+structMember: privateDecl? structVar | structMethod;
structVar: var ';';
structMethod: func;
+privateDecl: 'private';
genericDecl: '<' typeName (',' typeName)* '>';
|
