From f38dbc5055ccd7c95b58a9fb101eff41e8480d15 Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Sun, 20 Mar 2016 15:53:04 -0500 Subject: [PATCH] Use LHS/RHS matching for some simple SAFE_APPENDs --- src/zscript/zcc-parse.lemon | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/zscript/zcc-parse.lemon b/src/zscript/zcc-parse.lemon index 37f69842f..ee8296ff6 100644 --- a/src/zscript/zcc-parse.lemon +++ b/src/zscript/zcc-parse.lemon @@ -128,7 +128,7 @@ main ::= translation_unit(A). { stat->TopNode = A; stat->sc.ScriptMessage("Parse %type translation_unit {ZCC_TreeNode *} translation_unit(X) ::= . { X = NULL; } -translation_unit(X) ::= translation_unit(A) external_declaration(B). { SAFE_APPEND(A,B); X = A; /*X-overwrites-A*/ } +translation_unit(X) ::= translation_unit(X) external_declaration(B). { SAFE_APPEND(X,B); } translation_unit(X) ::= translation_unit(X) EOF. translation_unit(X) ::= error. { X = NULL; } @@ -221,7 +221,7 @@ class_body(X) ::= SEMICOLON class_innards(A) EOF. { X = A; /*X-overwrites-A*/ } class_body(X) ::= LBRACE class_innards(A) RBRACE. { X = A; /*X-overwrites-A*/ } class_innards(X) ::= . { X = NULL; } -class_innards(X) ::= class_innards(A) class_member(B). { SAFE_APPEND(A,B); X = A; /*X-overwrites-A*/ } +class_innards(X) ::= class_innards(X) class_member(B). { SAFE_APPEND(X,B); } %type struct_def{ZCC_Struct *} %type enum_def {ZCC_Enum *} @@ -402,9 +402,9 @@ scanner_mode ::= . { stat->sc.SetStateMode(true); } states_body(X) ::= . { X = NULL; } states_body(X) ::= error. { X = NULL; } -states_body(X) ::= states_body(A) state_line(B). { SAFE_APPEND(A,B); X = A; /*X-overwrites-A*/ } -states_body(X) ::= states_body(A) state_label(B). { SAFE_APPEND(A,B); X = A; /*X-overwrites-A*/ } -states_body(X) ::= states_body(A) state_flow(B). { SAFE_APPEND(A,B); X = A; /*X-overwrites-A*/ } +states_body(X) ::= states_body(X) state_line(B). { SAFE_APPEND(X,B); } +states_body(X) ::= states_body(X) state_label(B). { SAFE_APPEND(X,B); } +states_body(X) ::= states_body(X) state_flow(B). { SAFE_APPEND(X,B); } state_label(X) ::= NWS(A) COLON. { @@ -1289,10 +1289,9 @@ statement_list(X) ::= statement(A). { X = A; /*X-overwrites-A*/ } -statement_list(X) ::= statement_list(A) statement(B). +statement_list(X) ::= statement_list(X) statement(B). { - SAFE_APPEND(A,B); - X = A; /*X-overwrites-A*/ + SAFE_APPEND(X,B); } /*----- Expression Statements -----*/