[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