* include/hbclass.ch
! Corrected few minor typos.
* source/compiler/harbour.slx
* source/macro/macro.slx
- Commented few unused lines.
* contrib/dot/pp.prg
% Rewrote NextToken() and NextExp().
+ Added NextIdentifier()
! Found that Clipper PP is not processing tokens read by NextToken() and NextExp() so removed recursive support,
and changed logic in ProcessLine() to linear process:
#defines against all valid Identifiers - Expansion forces a resacn from top.
#[x]translates against all tokens - Expansion forces a resacn from top of #defines.
#[x]command agains the first token - Expansion forces a resacn from top of #defines.
! Corrected and refined many aspects of Interpreter mode.
+ Added ExecuteMethod() and support for OO syntax.
+ Added support for -I<includepaths...> command line switch.
* contrib/dot/rp_run.ch
+ Added support for OO syntax.
* contrib/dot/pp.txt
* Updated documentation.
* include/hbclass.ch
% Removed many redundant rules (recently added for OO integrity checks).
/* Found the PP problem that stopped me from implementing this optimized form before.
It seems the PP has a problem with "[" follwing a an identifier without a space prefix like:
#command TEST[([<param,...>])]
It seems to work OK like this:
#command TEST [([<param,...>])]
*/
* include/hbclass.ch
! Fixed declaration support for OnError() METHODS
! Fixed support for Methods having space prefixing the "( ... )" in the method implementation.
+ Refined #error messages to report the Class Name .
* source/pp/ppcore.c
* Removed recently added but not required support of #define expansion in #error directive.
* include/hbclass.ch
+ Added logic for NO Checking of OO Syntax (#ifdef NO_OO_ERR) - Use /dNO_OO_ERR to disable OO Syntax Checking.
* source/pp/ppcore.c
* Temporarily disabled support of #define expansion in #error directive.
* include/hbclass.ch
% Removed numerous redundant rules.
+ Added logic to detect and raise #error on implementation of NON Declared method.
* source/rtl/tclass.prg
+ Added logic to dispose of posibble "(...)" suffix to Method Name in AddVirtual(), AddMethod(), and AddClsMethod().
* include/hbclass.ch
! Added missing parameter to declaration of AddMultiData()
* source/compiler/harbour.c
! Corrected broken Linked-List links in hb_compDeclaredInit()
* source/compiler/hbpcode.c
* Minor correction declared parameters checking.
* source/vm/hvm.c
+ Added complete call stack display to hb_vmRequestCancel()
/* Cancelling will now show the complete call stack, rather than the not very helpful just current procedure. */
* contrib/dot/pp.prg
* contrib/dot/rp_run.ch
! Few corrections to Pre Processor, and Interpreter.
* include/hbclass.ch
+ Added support for METHOD implementations without requiring the CLASS Clause.
+ Added support for METHOD implementations without requiring the "()" if no parameters needed.
* source/pp/ppcore.c
! Corrected minor bug with test for valid string prefixs
+ Added missing valid string prefix (.) (except macro terminator) in getExpReal()