PP has 3 personalities which are tied tightly together.

1. What is supposed to be 100% Clipper compatible Pre-Processor. Executing
   PP followed by a source file name will create <filename.pp$> which is
   the equivalent of the Clipper <filename.ppo> file. In this mode there
   are few optional switches.

   PP filename[.ext] [-U][-DM][-DE][-DP][-CCH]

     -U   = Don't load standard rules.
     -DM  = Show tracing information into the Match Engine.
     -DE  = Show tracing information into the Expression Scanner.
     -DP  = Show tracing information into the Output Generator.
     -CCH = Generate a .cch file (compiled command header).

2. DOT prompt, which suppose to allow most of Harbour syntax. Please
   report any syntax you expect to work, but is not supported.


   Executing PP with no source filename will start the DOT prompt mode. In
   this mode you can execute a single line at a time, by typing the line
   and pressing the [Enter] key.

   Additionally you may type:

     DO filename.prg [Enter]

   So that DOT will "run" the specified source file. This interpreter
   mode is subject to few limitations:

     a. It does support LOCAL/STATIC/PRIVATE/PUBLIC, but:

       - STATICs are actually implemented as publics.

       - LOCALS have scoping of locals but are implemented as privates
         so you can't have a LOCAL and a PRIVATE with the same name.

     b. Non declared variable are not auto-created on assignment (yet).

     c. It does support definition and execution of prg defined
        FUNCTIONs/PROCEDUREs.

     d. It does not (yet) support WHILE and FOR loops.

     e. The executed module is compiled with -n option (for now).

  This will create rp_dot.pp$ compilation tace file.


3. Finally, PP is a limited Harbour Interpreter. Subject to those same few
   limitations it can execute most of Harbour syntax. Executing PP followed
   by a source file name and the -R switch, will "RUN" that source (it will
   also create the rp_run.pp$ compilation trace file).

   This final syntax is:

     PP filename[.ext] -R

I intend to add support for, LOOPs, and Parameter passing soon, so that the
Interpreter will be as complete as possible.
