Example #1
0
int main(int argc, const char * argv[])
{
  VM vm;
  
  Assembler::J80Assembler assembler;
  nanoc::Compiler compiler;
  
  runWithArgs({"j80", "tests/testsuite.j80"}, assembler, compiler);
  return 0;
  
  
  vm.copyToRam(assembler.getCodeSegment().data, assembler.getCodeSegment().length);
  vm.copyToRam(assembler.getDataSegment().data, assembler.getDataSegment().length, assembler.getDataSegment().offset);
  
  vm::UI ui = vm::UI(vm);
  ui.init();
  
  vm.setStdOut(ui.getStdOut());
  
  bool exit = false;
  do
  {
    ui.draw();
    ui.handleEvents();
    exit = ui.shouldExit();
  } while (!exit);
  
  ui.shutdown();
  
  return 0;

  if (argc > 1)
  {
    vector<string> args;
    
    for (int i = 0; i < argc; ++i)
      args.push_back(argv[i]);
    
    runWithArgs(args, assembler, compiler);
    return 0;
  }
  else if (argc == 1)
  {
    runWithArgs({"j80", "tests/testsuite.j80"}, assembler, compiler);
  }
    
  
  //nanoc::Compiler compiler;
  //compiler.parse("test.nc");
  
  /*rtl::RTLBuilder builder;
  const auto& ast = compiler.getAST();
  builder.dispatch(ast.get());
  builder.print();*/
  return 0;
}