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

sev- sev at scummvm.org
Sun May 31 12:39:04 UTC 2020


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

Summary:
53eec8698d DIRECTOR: LINGO: Moved cb_stackpeek and cb_stackdrop to c_
efc1840c51 DIRECTOR: Switched to Homebrew flex for consistency


Commit: 53eec8698dccd0e0281fc7cf488a8eeec66c0fd6
    https://github.com/scummvm/scummvm/commit/53eec8698dccd0e0281fc7cf488a8eeec66c0fd6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-31T14:38:06+02:00

Commit Message:
DIRECTOR: LINGO: Moved cb_stackpeek and cb_stackdrop to c_

Changed paths:
    engines/director/lingo/lingo-bytecode.cpp
    engines/director/lingo/lingo-code.cpp
    engines/director/lingo/lingo-code.h
    engines/director/lingo/lingo-gr.cpp
    engines/director/lingo/lingo-gr.y


diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index ab2057f99b..ec8d17414d 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -95,8 +95,8 @@ static LingoV4Bytecode lingoV4[] = {
 	{ 0x60, LC::cb_theassign2,	"b" },
 	{ 0x61, LC::cb_objectfieldpush, "b" },
 	{ 0x62, LC::cb_objectfieldassign, "b" },
-	{ 0x64, LC::cb_stackpeek, 	"b" },
-	{ 0x65, LC::cb_stackdrop, 	"b" },
+	{ 0x64, LC::c_stackpeek, 	"b" },
+	{ 0x65, LC::c_stackdrop, 	"b" },
 	{ 0x66, LC::cb_v4theentitynamepush, "b" },
 	{ 0x81, LC::c_intpush,		"w" },
 	{ 0x82, LC::c_argcnoretpush,"w" },
@@ -417,20 +417,6 @@ void LC::cb_call() {
 }
 
 
-void LC::cb_stackpeek() {
-	int peekOffset = g_lingo->readInt();
-	g_lingo->push(g_lingo->peek(peekOffset));
-}
-
-
-void LC::cb_stackdrop() {
-	int dropCount = g_lingo->readInt();
-	for (int i = 0; i < dropCount; i++) {
-		g_lingo->pop();
-	}
-}
-
-
 void LC::cb_globalpush() {
 	int nameId = g_lingo->readInt();
 	Common::String name = g_lingo->getName(nameId);
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index ffbfb15d2d..e666582119 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -163,8 +163,8 @@ static struct FuncDescr {
 	{ LC::cb_v4theentitynamepush,"cb_v4theentitynamepush","N" },
 	{ LC::cb_v4theentityassign,"cb_v4theentityassign","i" },
 	{ LC::cb_zeropush,		"cb_zeropush",		"" },
-	{ LC::cb_stackpeek,		"cb_stackpeek",		"i" },
-	{ LC::cb_stackdrop,		"cb_stackdrop",		"i" },
+	{ LC::c_stackpeek,		"c_stackpeek",		"i" },
+	{ LC::c_stackdrop,		"c_stackdrop",		"i" },
 	{ 0, 0, 0 }
 };
 
@@ -386,6 +386,18 @@ void LC::c_varpush() {
 	g_lingo->push(d);
 }
 
+void LC::c_stackpeek() {
+	int peekOffset = g_lingo->readInt();
+	g_lingo->push(g_lingo->peek(peekOffset));
+}
+
+void LC::c_stackdrop() {
+	int dropCount = g_lingo->readInt();
+	for (int i = 0; i < dropCount; i++) {
+		g_lingo->pop();
+	}
+}
+
 void LC::c_setImmediate() {
 	g_lingo->_immediateMode = g_lingo->readInt();
 }
diff --git a/engines/director/lingo/lingo-code.h b/engines/director/lingo/lingo-code.h
index 8d14a219d7..2b62f92fdd 100644
--- a/engines/director/lingo/lingo-code.h
+++ b/engines/director/lingo/lingo-code.h
@@ -77,6 +77,8 @@ namespace LC {
 	void c_argcnoretpush();
 	void c_arraypush();
 	void c_proparraypush();
+	void c_stackpeek();
+	void c_stackdrop();
 	void c_assign();
 	bool verify(const Symbol &s);
 	void c_eval();
@@ -158,8 +160,6 @@ namespace LC {
 	void cb_thepush();
 	void cb_thepush2();
 	void cb_proplist();
-	void cb_stackpeek();
-	void cb_stackdrop();
 	void cb_varassign();
 	void cb_varpush();
 	void cb_v4assign();
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index cd50b95c61..d4533b545c 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -2552,7 +2552,7 @@ yyreduce:
 
   case 38:
 #line 348 "engines/director/lingo/lingo-gr.y"
-                                { g_lingo->code1(LC::cb_stackpeek);
+                                { g_lingo->code1(LC::c_stackpeek);
 				  g_lingo->codeInt(0);
 				  g_lingo->codeFunc(new Common::String("count"), 1);
 				  g_lingo->code1(LC::c_intpush);	// start counter
@@ -2562,9 +2562,9 @@ yyreduce:
 
   case 39:
 #line 354 "engines/director/lingo/lingo-gr.y"
-                                { g_lingo->code1(LC::cb_stackpeek);	// get counter
+                                { g_lingo->code1(LC::c_stackpeek);	// get counter
 				  g_lingo->codeInt(0);
-				  g_lingo->code1(LC::cb_stackpeek);	// get array size
+				  g_lingo->code1(LC::c_stackpeek);	// get array size
 				  g_lingo->codeInt(2);
 				  g_lingo->code1(LC::c_le); }
 #line 2571 "engines/director/lingo/lingo-gr.cpp"
@@ -2572,9 +2572,9 @@ yyreduce:
 
   case 40:
 #line 360 "engines/director/lingo/lingo-gr.y"
-                                { g_lingo->code1(LC::cb_stackpeek);	// get list
+                                { g_lingo->code1(LC::c_stackpeek);	// get list
 				  g_lingo->codeInt(2);
-				  g_lingo->code1(LC::cb_stackpeek);	// get counter
+				  g_lingo->code1(LC::c_stackpeek);	// get counter
 				  g_lingo->codeInt(1);
 				  g_lingo->codeFunc(new Common::String("getAt"), 2);
 				  g_lingo->code1(LC::c_varpush);
@@ -2594,7 +2594,7 @@ yyreduce:
 
 		int jump = g_lingo->code2(LC::c_jump, STOP);
 
-		int end2 = g_lingo->code1(LC::cb_stackdrop);	// remove list, size, counter
+		int end2 = g_lingo->code1(LC::c_stackdrop);	// remove list, size, counter
 		g_lingo->codeInt(3);
 
 		inst loop = 0, end = 0;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index c269eb0cb1..6f64e11c6b 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -345,21 +345,21 @@ stmt: stmtoneliner
 	// end repeat
 	//
 	| tREPEAT tWITH ID tIN expr
-				{ g_lingo->code1(LC::cb_stackpeek);
+				{ g_lingo->code1(LC::c_stackpeek);
 				  g_lingo->codeInt(0);
 				  g_lingo->codeFunc(new Common::String("count"), 1);
 				  g_lingo->code1(LC::c_intpush);	// start counter
 				  g_lingo->codeInt(1); }
 			begin
-				{ g_lingo->code1(LC::cb_stackpeek);	// get counter
+				{ g_lingo->code1(LC::c_stackpeek);	// get counter
 				  g_lingo->codeInt(0);
-				  g_lingo->code1(LC::cb_stackpeek);	// get array size
+				  g_lingo->code1(LC::c_stackpeek);	// get array size
 				  g_lingo->codeInt(2);
 				  g_lingo->code1(LC::c_le); }
 			jumpifz
-				{ g_lingo->code1(LC::cb_stackpeek);	// get list
+				{ g_lingo->code1(LC::c_stackpeek);	// get list
 				  g_lingo->codeInt(2);
-				  g_lingo->code1(LC::cb_stackpeek);	// get counter
+				  g_lingo->code1(LC::c_stackpeek);	// get counter
 				  g_lingo->codeInt(1);
 				  g_lingo->codeFunc(new Common::String("getAt"), 2);
 				  g_lingo->code1(LC::c_varpush);
@@ -374,7 +374,7 @@ stmt: stmtoneliner
 
 		int jump = g_lingo->code2(LC::c_jump, STOP);
 
-		int end2 = g_lingo->code1(LC::cb_stackdrop);	// remove list, size, counter
+		int end2 = g_lingo->code1(LC::c_stackdrop);	// remove list, size, counter
 		g_lingo->codeInt(3);
 
 		inst loop = 0, end = 0;


Commit: efc1840c511cee6dc2d7b0f1d83648d660a10311
    https://github.com/scummvm/scummvm/commit/efc1840c511cee6dc2d7b0f1d83648d660a10311
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-31T14:38:35+02:00

Commit Message:
DIRECTOR: Switched to Homebrew flex for consistency

Changed paths:
    engines/director/lingo/lingo-lex.cpp
    engines/director/module.mk


diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 4c05b05bab..c5579cd263 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -427,7 +427,7 @@ static const YY_CHAR yy_ec[256] =
 
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    2,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1
diff --git a/engines/director/module.mk b/engines/director/module.mk
index 8f22316106..2d76699c5f 100644
--- a/engines/director/module.mk
+++ b/engines/director/module.mk
@@ -33,7 +33,7 @@ MODULE_OBJS = \
 	lingo/lingo-the.o
 
 director-grammar:
-	flex engines/director/lingo/lingo-lex.l
+	`brew --prefix flex`/bin/flex engines/director/lingo/lingo-lex.l
 	`brew --prefix bison`/bin/bison -dv engines/director/lingo/lingo-gr.y
 
 # This module can be built as a plugin




More information about the Scummvm-git-logs mailing list