| Home Page | Recent Changes | Preferences

BruteForce/Main

class BruteForce extends Commandlet config(BruteForce);

var private Tokenizer t;
var private Scope s;
var private Compiler c;
var private AST a;
var private Interpreter i;

var config array<string> Code;

Just edit the BruteForce.ini file to change the code.

var array<string> Input;

The input, with argc() and argv() function you can get this info from within BruteForce

/* Main */

event int Main( string Parms )
{
  local int n;
  local bool showTree, saveTree, noCompile;
  showTree = false;
  saveTree = false;
  noCompile = false;
  class'wString'.static.split2(Parms, " ", Input, true, "\"");
  for (n = input.length-1; n >= 0; n--)
  {
    if (input[n] ~= "-showtree")
    {
      input.remove(n, 1);
      showTree = true;
    }
    else if (input[n] ~= "-savetree")
    {
      input.remove(n, 1);
      saveTree = true;
    }
    else if (input[n] ~= "-nocompile")
    {
      input.remove(n, 1);
      noCompile = true;
    }
  }

Process the commandline arguments, we have three special case parameters that we use for certain parts:

-showtree will display the AST

-savetree will save the tree to the config file, if the tree is saved you no longer need to compile the code

-nocompile don't compile the code, just execute the AST

    
  s = new class'Scope';  
  a = new class'AST';
  i = new class'Interpreter';
   
  if (!noCompile)
  {
    t = new class'Tokenizer';
    c = new class'Compiler';
    t.Create(Code);
    a.Create();
    StopWatch(false);
    t.nextToken();
    c.Compile(t, a);
    Log("Compile time: ");
    StopWatch(true);
  }

  if (showTree) a.printTree();

  StopWatch(false);
  i.Create(a, s, input);
  i.Execute();
  Log("Execution time: ");
  StopWatch(true);

  if (saveTree) a.SaveConfig();

  return 0;
}

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In