+ source/macro/macro.slx
+ source/macro/macroslx.c
+ Added SimpLex based macro lexer
* hb_slex.bc
* Modified to use SimpLex based macro support.
/* Could some one please add same to GNU make system? */
* source/compiler/simplex.c
* Added void yy_bytes_buffer()
* source/compiler/harbour.slx
- Removed AS CHARACTER, AS BOOLEAN, AS OBJ, AS NUM
/* Left AS VARIANT and AS USUAL until vote results tabulated. */
* utils/hbdoc/ft_funcs.prg
* Changed AS CHAR -> AS STRING and AS NUM to AS NUMERIC
* source/compiler/simplex.c
* Changed to use YY_DECL macro in declaration of yylex()
* source/compiler/harbour.slx
+ Added 2 rules to support DECLARE MACROVAR and DECLARE MACRO TEXT
* tests/testdecl.prg
! Fixed to allow it to be run without RT Error
* source/compiler/harbour.slx
+ Added logic to account for HB_SYMBOL_NAME_LEN
+ Added 2 rules to support DECLARE SomeVar as in PRIVATE SomeVar as oppose to Strong Type DECLARE SomeClass SomeVar ...
+ tests/testdecl.prg
+ Added test program to utilize the DECLARE in its different contexts.
+ doc/simplex.txt
+ Added 1st draft of SimpLex documentation.
* source/compiler/simplex.c
+ Added overidable macro STREAM_EXCEPTION()
* source/compiler/harbour.l
* Modified to return every \n to correct line numbers reporting.
/* Note: removed note about . after \n, I beleive it was needed to avoid conflict with $ which is no longer used,
and should be avoided, due to few other side effects. */
source/compiler/harbour.slx
* Standadized un-terminated strings messages.
* source/compiler/harbour.c
! Corrected pVar->iDeclLine line number
* source/compiler/hbgenerr.c
! Corrcted intermitent GPF when hb_compGenWarning() was called with NULL hb_comp_files.pLast
* source/compiler/harbour.slx
! Optimized handling of Hex Numbers.
+ Added hash support for literal strings.
* Increased aTexts[] to 1024
* source/compiler/simplex.c
! Removed todo of pair action.
* source/compiler/harbour.slx
* Corrected support for PARAMETERS
+ Added type casts to allow c++ mode compilation
* source/compiler/simplex.c
- Removed unused vars.
+ Added type casts to allow c++ mode compilation
* include/hbcomp.h
+ Added: external BOOL hb_comp_bSimpLex
* source/compiler/harbour.c
+ Added: BOOL hb_comp_bSimpLex
+ Added: if( hb_comp_bSimpLex ) tests before releasing name strings of vars, and symbols.
+ Added: call to hb_compReleaseStrings(), if hb_comp_SimpLes is TRUE, after code generation.
* source/compiler/harbour.slx
+ Added: logic to resuse same allocated strings when string for identifier was perviously allocated.
+ Added: INIT_ACTION macro to set hb_comp_bSimpLex to TRUE.
+ Added: Function hb_compReleaseStrings()
* source/compiler/harbour.l
+ Added: empty Function hb_compReleaseStrings() to avoid link error.
* source/compiler/hbslex.c
* source/compiler/simplex.c
* Moved standard #includes from simplex to hbslex.
* source\compiler\simplex.c
* Improved handling of WhiteSpace, NewLine, and Eof.
* source\compiler\harbour.slx
+ Added rule to return only last CR in sequence of empty lines.
* source/compiler/harbour.l
+ Added rule for orphan "]"
* Monor improvments to INDEX
* source/compiler/hbgenerr.c
* Minor improvements
* source/pp/ppcomp.c
! Corrected line number was adding EmptyLines twice.
* source/compiler/hbgenerr.c
! Refined line numbers reported.
* source/compiler/harbour.l
! Rewrote (again) rules for STRING1 STRING2 STRING3 INDEX. Rules for strings much simpler.
/* Flex had some problem with $ that caused output of strings. */
* include/hbclass.ch
- Uncommented the VO #xtranslate as they do work correctly.
* source/pp/pplib.c
- Removed int hb_comp_iIncLine
* include/hbcomp.h
- Removed int hb_comp_iIncLine
+ Added int hb_comp_iCompiled
+ Added char* hb_comp_szFile
+ Added BOOL hb_comp_bError
* source/compiler/harbour.c
! Fixed Compile Time Line Numbers
! Fixed Run Time Line Numbers
* source/compiler/harbour.l
! Rewrote rules for STRING1 STRING2 STRING3 INDEX, were severly broken with regard to unterminated support.
/* When working on errors, I founf major problems, with unterminated Array Index and Unterminated Strings
I'm surprised no one reported. This mass was a nightmere to fix. it seems to be working great now. */
* source/compiler/harbour.y
! Many fixes to support correct line numbers.
* source/compiler/hbgenerr.c
! Fixed Error System to never report more than 1 error per source line.
* source/pp/ppcomp.c
- Removed code for hb_comp_iIncLine
* source/pp/ppcore.c
* Minor formating.
* include/hbclass.ch
! Uncommented #xtranslate that was not pre-processing correctly, before recent fixes to ppcore.c and now works correctly.
* source/compiler/harbour.c
! Fixed hb_compLinePush() to generate correct Run-Time Line Numbers.
* source/pp/ppcomp.c
- Removed one // comment.
* source/pp/ppcore.c
* Increased MAX_EXP to 2048 as requested by Brian Hays.