* source/compiler/harbour.c
* Corrected display of errors statistics to use \r so that error count doen't appear connected to the last reported
compiler line number progress.
* source/macro/macro.slx
- Removed unused asHold
* source/compiler/harbour.slx
- Removed unused asHold
- Optimized some rules.
* source/compiler/simplex.c
- Removed unused asHold
* tests/keywords.prg
* Uncommented all code that was commented other than few lines which I added TODO: PP ... for (problem resulting from PP)
* source/compiler/harbour.y
+ Added support for OPTIONAL Var... as first parameter[s] of declared function.
* tests/testdecl.prg
+ Added: DECLARE SomeFunc( OPTIONAL SomeVar AS STRING ) and DECLARE SomeFunc( OPTIONAL SomeVar AS STRING, OPTIONAL OtherVar )
to test syntax of OPTIONAL as first parameter[s] of declared function.
* source/compiler/harbour.slx
- Removed few redundant rules.
* Improved handling of INC/DEC
* source/compiler/harbour.l
+ Added rule to allow DECLARE Var AS ... (like PRIVATE Var AS ...)
* source/compiler/harbour.slx
+ Added rule to allow DECLARE Var AS ... (like PRIVATE Var AS ...)
! Corrected typo with DECLARE IDENTIFIER := rule.
! Corrcted compiler warnings reported by Maurilio
* tests/testdecl.prg
+ Added DECLARE Var9 AS STRING to test this syntax too.
* source/compiler/harbour.slx
! Optimized rules, removed ~100 rules. Rules are simpler, smaller, and faster.
* source/compiler/simplex.c
+ Added: bIgnoreWords (allows for reserve words check to be suspened).
+ Added: iLastToken to save last read Token
+ Added immediate call to CUSTOM_ACTION for Keys, Words, and Selfs, without having to reduce first (when requested).
* Optimized Keys search to not check bNewLine on every iteration.
* include/hberrors.h
* Changed #define HB_PP_ERR_INCLUDE_SELF to HB_PP_ERR_INCLUDE_CYCLIC
* source/pp/ppcore.c
* Changed "Can\'t #include self \'%s\'" to "Cyclic #include not allowed: \'%s\'"
* Changed self refernce #include detection, to detect any #include of an already opened file.
* source/compiler/harbour.slx
* Changed VARIANT to ANYTYPE as it appear to be the prefered choice.
* source/compiler/hbpcode.c
* Changed \[ to [ to correct compiler warnings.
* Changed Usual. to AnyType.
* hb_slex.bc
* makefile.bc
+ Added: -Phb_comp -C to Flex (macro.l) as per GNU make.
+ Added: -phb_comp to Bison (macro.y) as per GNU make.
/* We might need same change in other make files (VC etc.) */
/* BTW, Do we have SimpLex support in those other make files? */
* source/macro/macro.l
* source/macro/macro.y
- Removed: #define yylex hb_complex
* source/macro/macroslx.c
- Removed un-needed comment.
* source/pp/ppcore.c
! Fixed unintended side effect of UPPER-CASING #include file names.
* source/macro/macro.l
* source/macro/macro.y
+ Added: #define yylex hb_complex
* source/pp/ppcore.c
+ Added check for the file path when checking self reference of #include.
+ Added logic to ignore case when checing self reference of #include.
* source/compiler/cmdcheck.c
+ Added support for "new style" switches specs, for command line arguments.
/* Note: */ I did *not* implement same for the Environment Variables parsing.
* source/compiler/harbour.slx
- Removed few redundant rules.
+ Added logic to check for orphan LOOP, EXIT, or NEXT, and produce standard errors.
+ Added check to check for &', &", or &[, and produce standard error.
* source/macro/macro.slx
+ Added logic to check for &', &", or &[, and produce standard error.
* Minor formating.