[Scummvm-git-logs] scummvm master -> bd3031552b35944d07cfb1af62c2deb88ab570a9

sev- sev at scummvm.org
Tue Jan 14 17:37:42 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
bd3031552b DIRECTOR: LINGO: Renamed union fields to avoid semantic clashes


Commit: bd3031552b35944d07cfb1af62c2deb88ab570a9
    https://github.com/scummvm/scummvm/commit/bd3031552b35944d07cfb1af62c2deb88ab570a9
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-14T18:37:07+01:00

Commit Message:
DIRECTOR: LINGO: Renamed union fields to avoid semantic clashes

Changed paths:
    engines/director/lingo/lingo-gr.cpp
    engines/director/lingo/lingo-gr.h
    engines/director/lingo/lingo-gr.y
    engines/director/lingo/lingo-lex.cpp
    engines/director/lingo/lingo-lex.l


diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 5cadcaf..94b71d1 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -243,8 +243,8 @@ union YYSTYPE
 	Common::Array<double> *arr;
 
 	struct {
-		Common::String *s;
-		int e;
+		Common::String *os;
+		int oe;
 	} objectfield;
 
 #line 251 "engines/director/lingo/lingo-gr.cpp"
@@ -1702,7 +1702,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 
     case 28: /* THEOBJECTFIELD  */
 #line 131 "engines/director/lingo/lingo-gr.y"
-            { delete ((*yyvaluep).objectfield).s; }
+            { delete ((*yyvaluep).objectfield).os; }
 #line 1707 "engines/director/lingo/lingo-gr.cpp"
         break;
 
@@ -2085,9 +2085,9 @@ yyreduce:
 #line 194 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_objectfieldassign);
-		g_lingo->codeString((yyvsp[-2].objectfield).s->c_str());
-		g_lingo->codeInt((yyvsp[-2].objectfield).e);
-		delete (yyvsp[-2].objectfield).s;
+		g_lingo->codeString((yyvsp[-2].objectfield).os->c_str());
+		g_lingo->codeInt((yyvsp[-2].objectfield).oe);
+		delete (yyvsp[-2].objectfield).os;
 		(yyval.code) = (yyvsp[0].code); }
 #line 2093 "engines/director/lingo/lingo-gr.cpp"
     break;
@@ -2398,9 +2398,9 @@ yyreduce:
 #line 416 "engines/director/lingo/lingo-gr.y"
                          {
 		g_lingo->code1(LC::c_objectfieldpush);
-		g_lingo->codeString((yyvsp[0].objectfield).s->c_str());
-		g_lingo->codeInt((yyvsp[0].objectfield).e);
-		delete (yyvsp[0].objectfield).s; }
+		g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
+		g_lingo->codeInt((yyvsp[0].objectfield).oe);
+		delete (yyvsp[0].objectfield).os; }
 #line 2405 "engines/director/lingo/lingo-gr.cpp"
     break;
 
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 7af5e3e..652eb2e 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -147,8 +147,8 @@ union YYSTYPE
 	Common::Array<double> *arr;
 
 	struct {
-		Common::String *s;
-		int e;
+		Common::String *os;
+		int oe;
 	} objectfield;
 
 #line 155 "engines/director/lingo/lingo-gr.h"
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 62cc4a8..1a5fa58 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -93,8 +93,8 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
 	Common::Array<double> *arr;
 
 	struct {
-		Common::String *s;
-		int e;
+		Common::String *os;
+		int oe;
 	} objectfield;
 }
 
@@ -128,7 +128,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
 %right UNARY
 
 %destructor { delete $$; } <s>
-%destructor { delete $$.s; } <objectfield>
+%destructor { delete $$.os; } <objectfield>
 
 %%
 
@@ -193,9 +193,9 @@ asgn: tPUT expr tINTO ID 		{
 		$$ = $expr; }
 	| tSET THEOBJECTFIELD tTO expr	{
 		g_lingo->code1(LC::c_objectfieldassign);
-		g_lingo->codeString($THEOBJECTFIELD.s->c_str());
-		g_lingo->codeInt($THEOBJECTFIELD.e);
-		delete $THEOBJECTFIELD.s;
+		g_lingo->codeString($THEOBJECTFIELD.os->c_str());
+		g_lingo->codeInt($THEOBJECTFIELD.oe);
+		delete $THEOBJECTFIELD.os;
 		$$ = $expr; }
 	;
 
@@ -415,9 +415,9 @@ expr: simpleexpr { $$ = $simpleexpr; }
 		g_lingo->code2(e, f); }
 	| THEOBJECTFIELD {
 		g_lingo->code1(LC::c_objectfieldpush);
-		g_lingo->codeString($THEOBJECTFIELD.s->c_str());
-		g_lingo->codeInt($THEOBJECTFIELD.e);
-		delete $THEOBJECTFIELD.s; }
+		g_lingo->codeString($THEOBJECTFIELD.os->c_str());
+		g_lingo->codeInt($THEOBJECTFIELD.oe);
+		delete $THEOBJECTFIELD.os; }
 	| asgn
 	| expr '+' expr				{ g_lingo->code1(LC::c_add); }
 	| expr '-' expr				{ g_lingo->code1(LC::c_sub); }
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 7d2574a..eb45c32 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -1449,8 +1449,8 @@ YY_RULE_SETUP
 					error("LEXER: Unhandled the field '%s' for object", field.c_str());
 				}
 
-				yylval.objectfield.s = new Common::String(ptr);
-				yylval.objectfield.e = g_lingo->_theEntityFields[field]->field;
+				yylval.objectfield.os = new Common::String(ptr);
+				yylval.objectfield.oe = g_lingo->_theEntityFields[field]->field;
 
 				return THEOBJECTFIELD;
 			}
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 836dfd2..fbe11f4 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -245,8 +245,8 @@ whitespace [\t ]
 					error("LEXER: Unhandled the field '%s' for object", field.c_str());
 				}
 
-				yylval.objectfield.s = new Common::String(ptr);
-				yylval.objectfield.e = g_lingo->_theEntityFields[field]->field;
+				yylval.objectfield.os = new Common::String(ptr);
+				yylval.objectfield.oe = g_lingo->_theEntityFields[field]->field;
 
 				return THEOBJECTFIELD;
 			}




More information about the Scummvm-git-logs mailing list