[Scummvm-cvs-logs] SF.net SVN: scummvm:[51125] tools/branches/gsoc2010-decompiler/decompiler/ codegen.cpp

pidgeot at users.sourceforge.net pidgeot at users.sourceforge.net
Thu Jul 22 01:30:54 CEST 2010


Revision: 51125
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51125&view=rev
Author:   pidgeot
Date:     2010-07-21 23:30:53 +0000 (Wed, 21 Jul 2010)

Log Message:
-----------
Add break/continue/goto support

Modified Paths:
--------------
    tools/branches/gsoc2010-decompiler/decompiler/codegen.cpp

Modified: tools/branches/gsoc2010-decompiler/decompiler/codegen.cpp
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/codegen.cpp	2010-07-21 23:24:29 UTC (rev 51124)
+++ tools/branches/gsoc2010-decompiler/decompiler/codegen.cpp	2010-07-21 23:30:53 UTC (rev 51125)
@@ -21,6 +21,7 @@
  */
 
 #include "codegen.h"
+#include "engine.h"
 
 #include <iostream>
 #include <set>
@@ -188,6 +189,22 @@
 					addOutputLine(s.str());
 				}
 				break;
+			case kJump:
+			case kJumpRel:
+				switch (_curGroup->_type) {
+				case kBreak:
+					addOutputLine("break;");
+					break;
+				case kContinue:
+					addOutputLine("continue;");
+					break;
+				default:
+					{
+						std::stringstream s;
+						s << boost::format("goto %X") % _engine->getDestAddress(it);
+					}
+					break;
+				}
 			case kSpecial:
 				{
 					std::stringstream s;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list