Name: UCPP - UnrealScript (Code|Class) PrePrcessor
Version: 1.4
Compatibility: any UnrealEngine based game (that has an compiler)
UnrealScript Class PreProcessor (UCPP) is a commandline utility intended to be executed before ucc make. It adds some preprocessor features that are not available in the standard UnrealScript compiler in UnrealEngine1 and UnrealEngine2.

Features include conditional compiling directives but also definition replacements and function definitions. Most of the preprocessor directives found in most C\C++ compilers are supported.

More information and documentation about this tool can be found on the UnrealWiki
Change log:
- unknown directives are now also commented out when needed
- fixed invalid expression evaluation when there was whitespace left
  on the expression.

- directives may contains spaces and tabs between '#' ad the name, e.g.:
  #	ifdef SOMETHING
  #	endif
- "#pragma ucpp" does the same as "#ucpp", but using "#pragma ucpp" is 
  safer because of better code portability in case of other 
- block comments are not correctly stripped
	#if 1 /**/ && /**/ 0 // results in false
  but becareful, block comments covering multiple lines should not 
  start on a directive line

- new argument '-pipe', this will read from the standard input and 
  write to the standard output. In order for some additional magic it 
  will assume that the last normal argument is the filename of the 
  piped file. This feature is intended for UnrealEngine2 licensees to
  quickly add support for preprocessor features directly into their
  game. UE2 licensees can contact me through the UDN IRC for 
  information on how to implement this.
- new argument '-stdout', this is similar to '-pipe' except that the
  input is read from the file provided on the commandline. In other
  words, this is short for the DOS command:
    type filename | ucpp -pipe filename
Credits: programmed by Michiel "El Muerte" Hendriks