]> gitweb.ps.run Git - toc/blobdiff - Toc.g4
add namespace, private struct member grammar, change bracket style
[toc] / Toc.g4
diff --git a/Toc.g4 b/Toc.g4
index 0c8b50174bc1b8096495396fe9be7e55e8746d30..0f2f613a130d3a778edf03683e31c0ad1736cad4 100644 (file)
--- a/Toc.g4
+++ b/Toc.g4
@@ -5,8 +5,11 @@ prog: (decl)+ EOF;
 decl: varDecl ';'\r
     | funcDecl\r
     | structDecl\r
+    | namespaceDecl\r
     ;\r
 \r
+namespaceDecl: 'namespace' typeName '{' decl* '}';\r
+\r
 varDecl:  'var' var;\r
 var:  varName (':' type) ('=' expr)?;\r
 varInit:  varName (':' type) ('=' expr);\r
@@ -23,9 +26,10 @@ body: '{' stmt* '}';
 \r
 \r
 structDecl: 'struct' structName genericDecl? '{' structMember* '}';\r
-structMember: structVar | structMethod;\r
+structMember: privateDecl? structVar | structMethod;\r
 structVar: var ';';\r
 structMethod: func;\r
+privateDecl: 'private';\r
 \r
 genericDecl: '<' typeName (',' typeName)* '>';\r
 \r