Files
harbour-core/harbour/contrib/dot/pp.txt
Ron Pinkas 0902fc885d 2001-03-13 03:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* contrib/dot/pp.txt
     * Updated status of newly added support.
2001-03-13 11:49:39 +00:00

61 lines
2.1 KiB
Plaintext

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.