From 71a20a4f3d4e5f5278f7d004af710af89dfd7ebc Mon Sep 17 00:00:00 2001 From: Patrick Schönberger Date: Tue, 3 Aug 2021 12:08:12 +0200 Subject: add namespace, private struct member grammar, change bracket style --- Toc.g4 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Toc.g4') diff --git a/Toc.g4 b/Toc.g4 index 0c8b501..0f2f613 100644 --- a/Toc.g4 +++ b/Toc.g4 @@ -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)* '>'; -- cgit v1.2.3