From 32d290b743ce7d4d475879df6cef2885ad641b41 Mon Sep 17 00:00:00 2001 From: channa Date: Wed, 24 Jan 2024 21:50:25 +0100 Subject: [PATCH] Made grammar a bit clearer --- src/main/rascal/Syntax.rsc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/rascal/Syntax.rsc b/src/main/rascal/Syntax.rsc index e607bd6..850e507 100644 --- a/src/main/rascal/Syntax.rsc +++ b/src/main/rascal/Syntax.rsc @@ -54,9 +54,7 @@ syntax SubProgDecl = 'function' Id Parameters ":" BasicType ";" VarDecl* syntax Parameters = "(" ParameterList ")" ; -syntax ParameterList = ParamList - | ParameterList ";" ParamList - ; +syntax ParameterList = ParamList (";" ParamList)*; /* Observe you can declare multiple parametrs in a single delcaration. Also note the 'var'. 'var' parameters are passed by reference, whereas non 'var' parameters @@ -70,8 +68,7 @@ syntax ParamList = 'var'? IdList ":" TypeSpec syntax CompoundStatement = 'begin' StatementList? 'end'; -syntax StatementList = Statement - | StatementList ";" Statement; +syntax StatementList = Statement (";" Statement)*; /* We have: 1. Assignment statements