]> git.localhorst.tv Git - l2e.git/blobdiff - src/main.cpp
removed some leftover lines from linker branch
[l2e.git] / src / main.cpp
index edb0f1c8e47f28ca7361d32970a6e873e0b4f3ca..8f19f435bfa25c3335222094c0ff01342d5066d4 100644 (file)
@@ -26,7 +26,6 @@
 #include "graphics/Menu.h"
 #include "graphics/SimpleAnimation.h"
 #include "graphics/Sprite.h"
-#include "loader/Compiler.h"
 #include "loader/Interpreter.h"
 #include "loader/ParsedSource.h"
 #include "loader/Parser.h"
@@ -64,7 +63,6 @@ using graphics::Gauge;
 using graphics::Menu;
 using graphics::SimpleAnimation;
 using graphics::Sprite;
-using loader::Compiler;
 using loader::Interpreter;
 using loader::ParsedSource;
 using loader::Parser;
@@ -114,30 +112,11 @@ int main(int argc, char **argv) {
                ParsedSource source;
 
                for (vector<char *>::const_iterator i(args.Infiles().begin()), end(args.Infiles().end()); i != end; ++i) {
-                       string filePath(*i);
-                       switch (filePath[filePath.size() - 1]) {
-                               case 'o':
-                                       // TODO: load object file
-                                       break;
-                               case 's':
-                                       Parser(filePath, source).Parse();
-                                       break;
-                               default:
-                                       throw std::runtime_error("don't know what to do with " + filePath);
-                       }
+                       Parser(*i, source).Parse();
                }
 
-//             Parser("test-data/test.l2s", source).Parse();
-//             Parser("test-data/ikaris.l2s", source).Parse();
-//             Parser("test-data/items.l2s", source).Parse();
-//             Parser("test-data/spells.l2s", source).Parse();
-//             Parser("test-data/constants.l2s", source).Parse();
-
-               Interpreter intp(source);
-               intp.ReadSource();
-
                switch (args.DetectRunLevel()) {
-                       case Arguments::COMPILE:
+                       case Arguments::WRITE:
                        {
                                int length(std::strlen(args.OutfilePath()));
                                switch (args.OutfilePath()[length - 1]) {
@@ -146,11 +125,8 @@ int main(int argc, char **argv) {
                                                source.WriteHeader(outstream);
                                                break;
                                        }
-                                       default:
-                                       case 'o': {
-                                               std::ofstream outstream(args.OutfilePath());
-                                               Compiler(intp).Write(outstream);
-                                               break;
+                                       default: {
+                                               throw std::runtime_error(string("don't know how to write file ") + args.OutfilePath());
                                        }
                                }
                                return 0;
@@ -163,6 +139,9 @@ int main(int argc, char **argv) {
                                break;
                }
 
+               Interpreter intp(source);
+               intp.ReadSource();
+
                int battleResId(TypeDescription::GetTypeId("BattleResources"));
                int heroId(TypeDescription::GetTypeId("Hero"));
                int itemId(TypeDescription::GetTypeId("Item"));