* contrib/dot/pp.prg
* Completed management of Variable Scoping.
* Modified rest of Error Handlers to check type of :Args (Harbour bug).
* contrib/dot/test.prg
+ Added test of private value after function call
* contrib/dot/pp.prg
* Improved managment of variable scoping.
/* Appears to work correctly when compiled with Clipper, but is incorrect under Harbour, because
__MXRelease() is not releasing memvars as it should. */
* source/rtl/gtos2/gtos2.c
! fixed (sort of) changing used variables to statics so that I don't have to alloc them
on every call to hb_gt_ReadKey(). Now as fast as it was.
* source/rtl/gtos2/gtos2.c
! hb_gt_ReadKey() uses KBD subsystem of OS/2 instead of any compiler runtime
function to fetch characters from keyboard this way I can be sure that used memory
is tileable.
* contrib/dot/pp.prg
+ Added CompileNestedBlocks() #ifdef __CLIPPER__, because Clipper's Macro Compiler can *not* compile nested blocks.
/* Clipper macro compiler can't compile literal blocks which contain nested blocks. This is needed by #commands like:
INDEX ON ... TO ...
Now PP will pre-compile such nested blocks. This makes PP fully functional when compiled with Clipper too :-) */
* harbour/source/rdd/dbfcdx1.c
! Moved few declarations above the HB_TRACE() lien, to fix compilation errors.
* harbour/source/vm/dynsym.c
! Fixed
* harbour/include/hbrddcdx.h
+ Added support ORDSETFOCUS() and update keys
* harbour/source/rdd/dbfcdx1.c
+ Added support ORDSETFOCUS(), update keys, keys any type
- remove hb_cdxltoa()
* harbour/source/rdd/dbfcdx1.h
! Fixed support for Watcom C 11.0
+ Added support keys any type
* harbour/source/rdd/dbfcdx2.h
+ Added some new functions
* Changed the declaration of some functions
Not finished yet.
* contrib/dot/pp.prg
+ Started support for interpreting prg files.
* contrib/dot/rp_dot.ch
+ Added #command for stealing END
/* PP can alreay "Run" simple prgs :-). It actually support most Clipper commands.
It does *not* support LOCAL/STATIC/PRIVATE/PUBLIC, but any refference to a variable will create it as PRIVATE.
It does not (yet) support creation of FUNCTIONs/PROCEDUREs but will execute any built-in, or linked, prodecure/function.
It does not (yet) support WHILE and FOR loops.
It can execute code like this:
//------------------------------//
CLS
Alert( "Testinf PP as Interpreter... " )
USE test
IF ! File( "test" + IndexExt() )
INDEX on FIELD->First TO First
ELSE
SET INDEX TO First
ENDIF
GO TOP
cName := FIELD->First + FIELD->Last
IF cName == FIELD->First + FIELD->Last
? "Ok"
ELSE
? "Err"
ENDIF
DO CASE
CASE cName == First // Not exact!
? "Err"
CASE cName = First // But still equal
? "Ok"
OTHERWISE
? "Err"
ENDCASE
REPLACE First WITH "From PP"
? FIELD->First
//------------------------------//
To have PP execute a PRG use: PP filename -R
*/
* contrib/dot/pp.prg
! Fixed order of production in multi line result, where some of the resulting lines are re-processed
+ Added support for IF, ELSE, ELSEIF, ENDIF, DO CASE, CASE, OTHERWISE, ENDCASE
! Fixed cursor position in Dot prompt to simulate running program cursor position.
* contrib/dot/rp_dot.ch
! Fixed literal coordinates to use MaxRow() and MaxCol()
+ Added #command CLS to only clean the work region.
+ Added #commands to "steal" handling of IF, ELSE, ELSEIF, ENDIF, DO CASE, CASE, OTHERWISE, ENDCASE
* source/pp/ppcore.c
! Fixed NextName() to skip over .AND., .NOT. and .OR.
* config/w32/mingw32.cf
+ Added rules to use script files for long command lines, but commented out because @scripts did not work.
* contrib/dot/pp.prg
* Changed all extensions to lower case (.prg, .pp$, .cch ).
* Changed Chr(13) + Chr(10) to CRLF which is #defined as HB_OsNewLine() if __HARBOUR__ is defined.
* Changed literal size of buffer 16384 to PP_BUFFER_SIZE which is #defined as 16384
/* Could Linux users please report results... */
* make_gnu.bat
! Fixed maker to make -r
* Added %HARBOURDIR% and removed trailing slash from HB_BIN_INSTALL, HB_LIB_INSTALL and HB_INC_INSTALL
* contrib/dot/pp.prg
* Minor corrections to stringifys
* utils/hbtest/hbtest.prg
* Commented out RddSetDefault( "DBFCDX" )