| 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

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In