Commit Graph

75 Commits

Author SHA1 Message Date
Viktor Szakats
b7718d52ba 2002-01-03 23:26 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2002-01-03 22:30:45 +00:00
Viktor Szakats
18001eebe1 fix to prev 2002-01-03 22:22:07 +00:00
David G. Holm
e2f40918a8 See ChangeLog entry 2001-11-20 22:45 UTC-0500 David G. Holm <dholm@jsd-llc.com> 2001-11-21 03:46:55 +00:00
Andi Jahja
225cf29b8a andijahja@cbn.net.id 2001-11-19 22:20:04 +00:00
Ryszard Glab
65cd98cadb ChangeLog 2001-08-04 15:15 UTC+0100 2001-08-04 14:19:29 +00:00
Ron Pinkas
fc7c28a6b3 2001-07-23 04:15 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbexprop.h
     + Added #define  HB_ET_MACRO_PARE    64

   * source/vm/hvm.c
   * source/vm/macro.c
   * source/macro/macro.y
   * include/hbexprb.c
     + Added support for HB_P_MACROPUSHPARE aand HB_P_MACROPUSHINDEX

   * include/hbmacro.h
     + Added #define HB_MACRO_GEN_PARE     16  /* generate parentesized list */

   * source/common/expropt1.c
   * source/common/expropt2.c

   * include/hbpcode.h
   * source/compiler/genc.c
   * source/compiler/hbfix.c
   * source/compiler/hbpcode.c
     + Added new opcode HB_P_MACROPUSHPARE

   /* This should complete macro list support for ( &cMacro ) and aArray[ &cMacro ] syntaxes. */
2001-07-23 11:13:06 +00:00
Ryszard Glab
f6353a8674 ChangeLog 2001-07-22 20:15 UTC+0100 2001-07-22 19:03:52 +00:00
Ron Pinkas
8abc351c51 2001-07-17 18:25 UTC-0800 Ron Pinkas <ron@profit-master.com>
* utils/hbpp/hbpp.c
     * Commented an exit() call in hb_compGenError() to continue processing after an error just like Harbour does.

   * include/hbapi.h
     + Added 2nd parameter BOOL bArg to hb_macroGetValue()

   * include/hbexpra.c
     + Added global BOOL hb_exp_bArgList = FALSE;

   * include/hbexprb.c
     + Added logic to generate HB_P_MACROPUSHARG rather than HB_MACROPUSH when pushed macro is a function call argument.

   * include/hbpcode.h
   * source/compiler/genc.c
   * source/compiler/hbfix.c
   * source/compiler/hbpcode.c
     + Added new HB_P_MACROPUSHARG

   * source/macro/macro.y
     + Added logic to generate an error if macro expression is list, unless servicing an HB_MACROPUSHARG.

   * source/vm/hvm.c
     + Added support for new HB_P_MACROPUSHARG calling hb_macroGetValue() with TRUE for bArg.

   * source/vm/macro.c
     + Added 2nd parameter BOOL bArg to hb_macroGetValue() to signify servicing of HB_P_MACROPUSHARG.

   * contrib/dot/pp.prg
     + Added bSplit 4th paramater to PP_PreProLine() defaulting to .T.. - Calls from PP_PreProFile() set it to .F..
2001-07-18 01:29:53 +00:00
Ron Pinkas
005cee072c 2001-07-15 20:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     + Added member iListElements to HB_MACRO structure.

   * source/macro/macro.y
     + Added rules to support a macro of a comma seperated list.

   * source/vm/hvm.c
     + Added: int hb_vm_iFunCalls = 0, *hb_vm_aiMacroListParameters = NULL, hb_vm_iMacroListAllocated
       to support new logic to track number of extra parameters introduced by means of a macro expanded to a list.

   * source/vm/macro.c
     + Added logic to track number of extra parameters introduced by means of a macro expanded to a list.
2001-07-16 03:43:13 +00:00
Ron Pinkas
59346e6bf8 2001-05-23 21:15 UTC-0800 Ron Pinkas <ron@profit-master.com>
* 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.
2001-05-24 04:52:09 +00:00
David G. Holm
0e07837322 See ChangeLog entry 2001-04-12 15:00 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-04-12 18:56:30 +00:00
David G. Holm
5cc3068f99 See ChangeLog entry 2001-04-12 14:20 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-04-12 18:24:41 +00:00
Ron Pinkas
8135620cf5 2001-03-02 23:00 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/macro/macroslx.c
     + Added copyright notice with the Harbour Exception.
2001-03-03 07:06:22 +00:00
Ryszard Glab
ccc567b1d0 ChangeLog 2000-12-12 21:25 UTC+0100 2000-12-12 20:22:23 +00:00
Ron Pinkas
0c2228a024 2000-11-30 18:25 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hbmacro.h
   * source/macro/macro.y
   * source/vm/macro.c
     ! Renamed hb_compParse() to hb_macroYYParse(). We already have hb_macroParse() and hcompparse()

   * source/compiler/harbour.y
     * Added token GET (not used) just so that harboury.h is compatible with harbour.sly

   * source/rtl/tgetint.prg
     * Reverted to use _1 and == NIL to not break Clipper compatibility.

     /* Ryszard, if you want to re-introduce PCount() and HB_PVALUE(), I'll ask (since I wrote this original code)
        that you protect it with #ifdef FLEX etc. If you do I would suggest you further protect it with #ifdef STRICT...
	becuase this will defintly break strict compatability. */
2000-12-01 02:25:20 +00:00
Ryszard Glab
4866775e31 ChangeLog 2000-11-30 10:55 UTC+0100 2000-11-30 09:45:07 +00:00
Ryszard Glab
9372a26e6b ChangeLog 2000-11-07 16:25 UTC+0100 2000-11-07 15:23:57 +00:00
Ryszard Glab
92e1ff661f ChangeLog 2000-11-04 13:35 UTC+0100 2000-11-04 12:39:40 +00:00
Ron Pinkas
3a7b8b8893 2000-11-02 20:35 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.sly
     + Added rule to accept Get and GetA as FunCall

   * source/compiler/harbour.y
     + Added support for pseudo function _GET_()
   * source/compiler/harbour.l
     + Added _GET_(...) => __GET(...)/__GETA(...) logic from harbour.sly

   * source/macro/macro.slx
     * Corrected YY_DECL #define (Thanks John)

   * source/rtl/tget.prg
   * include/hbextern.ch
     - Removed no longer needed _GET_()
2000-11-03 23:42:27 +00:00
Ryszard Glab
19679cd238 ChangeLog 2000-10-15 14;25 UTC+0100 2000-10-15 12:15:48 +00:00
Ron Pinkas
eca55336b8 Corrected djgpp warning. 2000-09-19 05:36:54 +00:00
Ron Pinkas
a5e4deaa88 2000-09-18 09:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
   * source/compiler/harbour.sly
   * source/compiler/harbour.y
   * source/compiler/simplex.c
   * source/macro/macro.slx
     ! Corrected compiler warnings.
2000-09-18 16:36:54 +00:00
Ron Pinkas
ba6f7b3667 2000-09-17 23:45 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
     ! Corrected definition of _PROCREQ_()

   * tests/testdecl.prg
     - Removed 1 line of unspported syntax.

   * source/macro/macro.slx
   * source/compiler/harbour.slx
     % Greatly optimized, much simplified, smaller, and faster.
     ! Converted all "non conventional" macros to functions.

   * source/compiler/simplex.c
     % Greatly optimized, now as fast as Flex based lexer.
     ! Converted all "non conventional" macros to functions.
     + Added support for predefind match pattern, {WS} (White Space), in KEYWORDS and WORDS.

   + source/compiler/harbour.sly
     * Same as harbour.y, excluding un-needed support for reserved words used as identifiers.
     /* Harbour.slx works with either harbour.y or harbour.sly, but harbour.sly creates smaller harbour.exe. */

   * hb_slex.bc
     * Modified to use harbour.sly
2000-09-18 07:04:53 +00:00
Ron Pinkas
4a4e7b593b 2000-09-08 03:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* config/dos/djgpp.cf
     + Added support for $(C_USER) and $(L_USER) /* Could someone please verify, that this is the correct way. */

   * source/compiler/simplex.c
     + Added: #define SUSPEND_WORDS 8192, and minor support logic.

   * source/compiler/harbour.slx
     ! Removed 14 #defines, and 14 cases from hb_lex_CustomAction(), by taking advantage of SUSPEND_WORDS.

   * source/macro/macro.slx
     - Removed 1 unused variable.
2000-09-08 11:00:40 +00:00
Ron Pinkas
c201844c39 2000-09-06 12:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
     + Added AS CHAR[ACTER] for compatibility with FW (FW can't use #translate AS CHAR => AS STRING, because FW also uses AS CHAR
       in DLL calls where AS CHAR referes to *native* char type).
     ! Correted AS ... to allow multiple space/tab, and support abbreviations.

   * source/compiler/simplex.c
     + Added KEYWORD_ACTION() and WORD_ACTION() macros.

   * source/macro/macro.slx
     ! Optimized numerous HB_*_ID to a single HB_IDENTIFIER.

   * source/compiler/harbour.slx
     + Added AS CHAR[ACTER] for compatibility with FW (FW can't use #translate AS CHAR => AS STRING, because FW also uses AS CHAR
       in DLL calls where AS CHAR referes to *native* char type.
     ! Optimized numerous HB_*_ID to a single HB_IDENTIFIER.

   * include/hbclass.ch
     * Changed _<AssignName> to <AssignName> in HB_MEMBER directives.
     + Added AS CLASS <ClassName> to LOCAL Self := QSelf()

   * tests/testdecl.prg
     + Added code to demonstrate missing support for class memeber RT type protection (AS ...)
2000-09-06 19:53:10 +00:00
Ron Pinkas
2d1a852803 2000-09-02 09:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* hb_slex.bc
     * Synchronized with makefile.bc

   * include/hbclass.ch
     + Added: [AS <type>] optional clause to all Methods/Messages syntax.
     + Added directives to generate class declaration from same class creation code.

   * include/hbcomp.h
   * source/compiler/harbour.c
     + Added: char hb_comp_cDataListType;

   * source/compiler/harbour.l
     + Added support for new _HB_CLASS and _HB_MEMBER alternate class declaration syntax.

   * source/macro/macro.slx
     ! Moved .T., .Y., .F., and, .N. from self contained words to words.

   * source/compiler/harbour.slx
     ! Moved .T., .Y., .F., and, .N. from self contained words to words.
     + Added support for new _HB_CLASS and _HB_MEMBER alternate class declaration syntax.

   * source/compiler/harbour.y
     ! Improved definition of formal and optional paramter lists.
     + Added support for alternate class declaration syntax:
       _HB_CLASS ClassName
       _HB_MEMBER { [AS ...] Var1, VarN }
       _HB_MEMBER MethodName( [ [OPTIONAL] [@]FormalParam [AS ...] | @FunPointer() ] ) [ AS ... ]
       /* This syntax allows the class declaration to be on multiple seperated lines (needed to allow utilization of class creation code.)
          Tokens _HB_CLASS & _HB_MEMBER are not final, until some discussion with Ryszard. */

   * source/compiler/hbpcode.c
     * Completed classes strong type support for adaptive type variable.

   * source/rtl/tlabel.prg
   * source/rtl/treport.prg
     ! Corrected typos: AS {} -> INIT {} AS ARRAY, AS .T. -> INIT .T. AS LOGICAL etc..

   * tests/testdecl.prg
     * Changed to demonstrate class creation used as declaration.

   * utils/hbtest/hbtest.prg
     * Changed DBFNTX -> DBFCDX (was not working because DBFNTX is disabled.
2000-09-02 16:30:36 +00:00
Ron Pinkas
ce87f32df5 2000-08-22 10:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
   * source/compiler/harbour.slx
   * source/macro/macro.slx
     ! Removed un-needed calls to strlen().
2000-08-22 17:39:34 +00:00
Ron Pinkas
93f92c364e 2000-08-21 15:45 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
     ! Optimized Keywords and Words search, Lexer is 10-15% faster.

   * source/compiler/harbour.slx
   * source/macro/macro.slx
     ! Sorted Keywords and Words, to support optimized search, by simplex.
2000-08-21 22:47:22 +00:00
Ron Pinkas
926872a96b 2000-08-15 18:25 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
    + Added support for multi-charcters Stream Start and Stream End delimiters.
    + Added overidable MACROs STREAM_OPEN(x), STREAM_APPEND(x)
    ! Removed Hardcoded limits, changed to overidable #defines: MAX_STREAM, MAX_STREAM_STARTER, MAX_STREAM_TERMINATOR,
      MAX_STREAM_EXCLUSIONS

  * source/macro/macroslx.c
    + Added:
	#define MAX_STREAM                               2048 /* Max length of in-line LITERAL */
	#define MAX_STREAM_STARTER                          2
	#define MAX_STREAM_TERMINATOR                       2
	#define MAX_STREAM_EXCLUSIONS                       2

  * source/compiler/hbslex.c
    + Added:
      	#define MAX_STREAM                               2048 /* Max length of in-line LITERAL */
      	#define MAX_STREAM_STARTER                          7 /* "QOUT([" */
      	#define MAX_STREAM_TERMINATOR                       4 /* "])\n"   */
      	#define MAX_STREAM_EXCLUSIONS                       2

  * source/macro/macro.slx
    * Replaced AND_IGNORE_DELIMITERS() with TEST_LEFT()

  * source/compiler/harbour.slx
    + Added: #define NUMERALS_PER_LINE 512
    * Replaced AND_IGNORE_DELIMITERS() with TEST_LEFT()
    + Added support for TEXT ENDTEXT (pending some more work in PP), nested [[]] strings and double delimiters stringified strings.
2000-08-16 03:09:07 +00:00
Ron Pinkas
c06672fe89 2000-08-08 02:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* 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)
2000-08-08 09:11:01 +00:00
Ron Pinkas
c0d549bb9d 2000-08-03 18:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/macro/macro.slx
   * source/compiler/harbour.slx
     + Added (int) casting to isalpha() parameter calls.

   * source/compiler/hbslex.c
     * Removed extra empty line.

   * include/hberrors.h
     + Added #define HB_PP_ERR_TOO_MANY_INCLUDES 17

   * source/pp/ppcore.c
     + Addded: #define HB_PP_MAX_INCLUDES FOPEN_MAX - 5 - 1 (Victor ?)
     + Added : "Too many nested #includes, can\'t open: \'%s\'"
     + Added logic to protect against too many nested includes.
2000-08-04 19:54:25 +00:00
Maurilio Longo
ceb3b502aa 20000803-13:13 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-08-03 11:16:47 +00:00
Ron Pinkas
038f3838d8 2000-08-02 11:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
* 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.
2000-08-02 18:35:20 +00:00
Ron Pinkas
685b646051 2000-08-02 09:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* 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.
2000-08-02 16:43:49 +00:00
Maurilio Longo
9d50b20089 20000802-12:58 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-08-02 11:04:22 +00:00
Ryszard Glab
39596ad2dd ChangeLog 2000-08-01 18:20 UTC+0100 2000-08-01 16:17:13 +00:00
Ron Pinkas
30eb28b233 2000-07-31 18:20 UTC+0800 Ron Pinkas <ron@profit-master.com>
* 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.
2000-08-01 01:23:20 +00:00
Ron Pinkas
e09d364512 2000-07-31 09:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
   * source/macro/macro.slx
     ! Corrected compiler warnings

   * tests/testwarn.prg
   * utils/hbdoc/ft_funcs.prg
     * Commented AS USUAL until votes results tabulated
2000-07-31 15:58:41 +00:00
Maurilio Longo
ac896e85e9 20000731-09:18 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-07-31 07:18:40 +00:00
Maurilio Longo
17614b7b2e 20000731-09:00 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-07-31 07:15:18 +00:00
Ron Pinkas
ae598156ee 2000-07-30 22:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/macro/macro.slx
    ! Corrected unreleased memory block.

  * source/compiler/harbour.slx
    ! Corrected unreleased memory block.
2000-07-31 05:50:35 +00:00
Ron Pinkas
3d37397709 2000-07-30 17:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
+ 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()
2000-07-31 00:33:45 +00:00
Ryszard Glab
ffe49c60fd ChangeLog 2000-07-15 20:00 UTC+0100 2000-07-15 17:50:44 +00:00
Ryszard Glab
bb1ba3c1d1 ChangeLog 20000505-19:15 GMT+1 2000-05-05 17:09:46 +00:00
Viktor Szakats
234074140c 20000502-02:13 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-02 00:12:34 +00:00
Viktor Szakats
be7f72c97d 20000502-01:43 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-01 23:41:19 +00:00
Viktor Szakats
c23f585ad1 20000402-15:59 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-02 13:58:28 +00:00
Viktor Szakats
06f719cfbd 20000331-23:11 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-03-31 21:17:04 +00:00
Paul Tucker
02b0bf2505 20000331-15:50 EST <ptucker@sympatico.ca> 2000-03-31 20:49:34 +00:00
David G. Holm
01469701a6 See ChangeLog entry 2000-03-27 19:15 GMT-5 David G. Holm <dholm@jsd-llc.com> 2000-03-28 00:18:28 +00:00