diff options
| author | Patrick Schönberger | 2021-08-03 12:08:12 +0200 |
|---|---|---|
| committer | Patrick Schönberger | 2021-08-03 12:08:12 +0200 |
| commit | 71a20a4f3d4e5f5278f7d004af710af89dfd7ebc (patch) | |
| tree | 4227c1cc0c0310a4b73f3b30b5ac1ee7c90b274e /Toc.g4 | |
| parent | 17fac686375c2823d22415e32e5b7e63bbfe7c54 (diff) | |
| download | toc-71a20a4f3d4e5f5278f7d004af710af89dfd7ebc.tar.gz toc-71a20a4f3d4e5f5278f7d004af710af89dfd7ebc.zip | |
add namespace, private struct member grammar, change bracket style
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)* '>';
|
