From 90c75e9b5a3fc804d71ce6a5f977789868f6ca82 Mon Sep 17 00:00:00 2001 From: Stefano Sanfilippo Date: Tue, 25 Nov 2014 00:39:27 +0100 Subject: [PATCH] Optional statement terminator wherever possibile. --- Monicelli.y | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Monicelli.y b/Monicelli.y index 547cfb8..f1067c3 100644 --- a/Monicelli.y +++ b/Monicelli.y @@ -66,11 +66,14 @@ main: MAIN statements ; statements: - /* epsilon */ | statement COMMA statements | assert_stmt statements | fun_call statements + /* epsilon */ | + nonending_statement COMMA statements | ending_statement statements ; -statement: - var_decl | assign_stmt | print_stmt | input_stmt | return_stmt | - loop_stmt | branch_stmt | abort_stmt | /* epsilon */ +ending_statement: + assert_stmt | fun_call | print_stmt | input_stmt | abort_stmt | branch_stmt +; +nonending_statement: + var_decl | assign_stmt | return_stmt | loop_stmt | /* epsilon */ ; var_decl: VARDECL variable COMMA pointer TYPENAME var_init