| 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