Commit Graph

658 Commits

Author SHA1 Message Date
Antonio Linares
5095f34175 HB_P_STATICNAME support. 2001-02-05 09:41:40 +00:00
Antonio Linares
23e5e0c45e hb_p_staticname support 2001-02-05 09:39:40 +00:00
Antonio Linares
560e500161 HB_P_STATICNAME opcode support. 2001-02-05 09:38:02 +00:00
Antonio Linares
da5619069a New hb_p_staticname() function added. Modified hb_p_statics() function. 2001-02-05 09:25:26 +00:00
Antonio Linares
25abb78d95 HB_P_LOCALNAME local index fixed 2001-02-02 14:40:36 +00:00
Ron Pinkas
c7ff5eeec1 2001-01-21 15:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     * Minor correction.
2001-01-21 23:42:21 +00:00
Ron Pinkas
d51b90e182 2001-01-20 17:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
* hb_slex.vc
     + Added -DSIMPLEX to CLIBFLAGS

   * source/compiler/genc.c
     * Minor correction.

   * utils/hbpp/hbpp.c
   * source/pp/pplib.c
   * include/hbcomp.h
   * source/compiler/harbour.c
     + Added hb_comp_iLinePRG and hb_comp_iLineINLINE

   * source/compiler/harbour.l
   * source/compiler/harbour.slx
   * source/compiler/hbgenerr.c
     + Added logic to disallow multiple HB_INLINE() per source line.

   * source/pp/ppcomp.c
   * source/pp/ppcore.c
   * source/pp/pragma.c
     * Corrected double spacing in PPO generation, and added #pragma BEGINDUMP to PPO.
2001-01-21 01:47:49 +00:00
Jean-Francois Lefebvre
4a22bc5736 2001-01-16 22:15 GMT+1 JFL (Mafact) <jfl@mafact.com> 2001-01-16 21:15:28 +00:00
Ron Pinkas
71b35897c3 2001-01-13 02:25 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/genc.c
   * source/compiler/harbour.c
   * source/pp/pragma.c
     + Added support for #pragma BEGINDUMP ... [#pragma STOPDUMP] or EOF.
       /* BEGINDUMP & STOPDUMP are just a suggestion. */

   * utils/hbpp/hbpp.c
   * source/pp/pplib.c
     + Added empty stub hb_compInlineAdd() (needed by pragma.c)

   * tests/inline_c.prg
     + Added code to demonstrate #pragam BEGINDUMP
2001-01-13 10:28:32 +00:00
Ron Pinkas
5a7c00ebfb 2001-01-11 20:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
   * source/compiler/harbour.slx
     + Added logic to ignore, rest of line after //
                              content of /**/ comments
                              content of strings and char constants
                              escape codes within strings and char constants
   * tests/inline_c.prg
     + Added sample comments and strings containing { and \".
2001-01-12 04:15:26 +00:00
Ron Pinkas
be05f9aa24 corrected typo 2001-01-11 02:36:07 +00:00
Ron Pinkas
7c6bd0b33b 2001-01-10 18:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbcomp.h
   * source/compiler/harbour.c
     + Added members szFileName and iLine to structure INLINE, set to originating PRG name and line number.

   * source/compiler/genc.c
     + Added #line directive to INLINE generations, so C compile warnings/errors will report source file and line number in PRG.

   * source/compiler/harbour.l
   * source/compiler/harbour.slx
     + Added Error message if inline C is used with non C output.
     + Added support for {} on same line
     * Minor optimization

   * include/hberrors.h
   * source/compiler/hbgenerr.c
     + Added: "Inline C requires C output generartion, use -gc[n]"
2001-01-11 02:31:36 +00:00
Jean-Francois Lefebvre
b7abfe9244 2001-01-08 22:18 GMT+0100 JFL (mafact) <jfl@mafact.com> 2001-01-08 21:24:17 +00:00
Ron Pinkas
1d698b2bf5 2000-01-02 17:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/genc.c
     * Minor correction.
2001-01-03 01:08:10 +00:00
Ron Pinkas
db79a72304 2000-01-02 10:00 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
     + Added support for inline C code.
2001-01-02 18:10:43 +00:00
Ron Pinkas
191a684ad8 2000-01-01 23:35 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
     * Minor correction in hb_compInlineAdd()
2001-01-02 07:36:29 +00:00
Ron Pinkas
8d2b4bd7f0 2000-01-01 22:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
   * source/compiler/hbgenerr.c
     + Added: "Unterminated inline block in function: \'%s\'" and "Too many inline blocks"

   * include/hbcomp.h
   * source/compiler/harbour.c
     + Added hb_compInlineNew(), hb_compInlineAdd(), and hb_compInlineFind()

   * source/pp/ppcomp.c
   * source/compiler/harbour.slx
   * source/compiler/genc.c
     + Added support for inline C code blocks.

   + tests/inline_c.prg
     + Added new test to demonstrate new inline C support.
2001-01-02 06:53:30 +00:00
Ryszard Glab
ccc567b1d0 ChangeLog 2000-12-12 21:25 UTC+0100 2000-12-12 20:22:23 +00:00
Ron Pinkas
edb06cb10a 2000-12-03 15:05 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.sly
     ! Optimized __GETA() support, and changed it to be implementated identical to Clipper.
       /* Clipper passed a bGet Block which refrences the Base Array Variable and not the Variable itself.
          Clipper passes NIL instead of bGet block if the Base Array is MACROVAR or MACROTEXT.
          Clipper does not optimize "&Macro" to Macro, but Harbour does! */

   * source/rtl/tgetint.prg
     * __GETA() Changed 1st parameter aVar to bGetArray and logic to get the Base Array if bGetArray is NIL
       /* Optimized to not use macro if possible (most cases) even if the GetArray is a macro. */

   * tests/testget.prg
     + Added additional test.
2000-12-03 23:21:19 +00:00
Ron Pinkas
21a332f04c 2000-12-01 01:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.sly
     ! Minor optimization.
   * source/rtl/tgetint.prg
     * Corrected typo
2000-12-01 09:53:40 +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
Ron Pinkas
5fa7ef36f3 2000-11-30 10:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     ! Commented out support for Self: as SELF, treat as any other Identifier, until we finalize SELF support.
2000-11-30 18:00:27 +00:00
Ryszard Glab
4866775e31 ChangeLog 2000-11-30 10:55 UTC+0100 2000-11-30 09:45:07 +00:00
Ron Pinkas
159793c2ce 2000-11-29 13:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
     * Exported: hb_compFieldGetPos() and hb_compMemvarGetPos()

   * source/compiler/harbour.sly
     ! Changed __GET() support to be parameter compatible with Clipper

   * include/hberrors.h
   * source/compiler/hbgenerr.c
     + Added Error: "GET contains complex macro"

   * source/pp/pptable.c
     - Removed bSetGet from rule of GET, PP output now Clipper compatible.

   * source/vm/memvars.c
     + Added HB_FUNC( __ISMV ) // Return .T. if passed string as a Memory Variable.

   * source/rtl/tgetint.prg
     ! Fixed __GET() to be 100% parameter compatible with Clipper.
     ! When 1st parameter (bSetGet) is NIL the bSetGet will be built internaly,
       not using macro in most cases, even if the Get Variable itslef is a macro :-)

   /* Ryszard, this will further break Flex support for GET, but makes __GET() 100% Clipper compatible as you suggested.
      Please note, that Clipper does *NOT* pass a bSetGet *only* when the Get Var is a *simple* *non* declared Variable.
      Declared Variables in this context are: MEMVAR, FIELD, LOCAL, and STATIC. For all of those, bSetGet *is* generated!
      Clipper also generates bSetGet for "Complex Variables", i.e. Aliased Variables, Object Data, etc.! */
2000-11-29 21:54:03 +00:00
Ron Pinkas
2c5ad9f51d 2000-11-27 08:25 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
   * source/rtl/idle.c
     + Added hb_idleReset()
   * source/rtl/inkey.c
     * Replaced direct idle flags reset with call to hb_idleReset()
   * tests/testidle.prg
     + Added 2nd block test.

   + tests/testget.prg
     + Added test for plain gets, array gets, macro gets, and object data gets.

   * hb_slex.bc
   * include/hbver.h
   * source/common/hbver.c
   * source/compiler/genc.c
   * source/compiler/genjava.c
   * source/compiler/genobj32.c
   * source/compiler/hbusage.c
     + Added HB_VER_LEX macro and added to Build Info.

   * config/dos/djgpp.cf
   * config/linux/gcc.cf
   * config/w32/bcc32.cf
   * config/w32/gcc.cf
     + Added -DSIMPLEX to C[LIB]FLAGS of SimpLex build
2000-11-27 19:17:44 +00:00
Ron Pinkas
8a712df3c5 2000-11-26 21:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
   * source/pp/ppcomp.c
   * source/pp/ppcore.c
     + Added error support for Input buffer overflow .
2000-11-27 05:13:00 +00:00
Ron Pinkas
96cd0348b4 2000-11-26 18:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     + Added Error message if NUMERALS_PER_LINE is exhausted, and set it to 3000 (just below apparent parser limitation)
2000-11-27 02:50:42 +00:00
Ron Pinkas
7c25a95b82 2000-11-24 21:10 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.y
   * source/compiler/harbour.sly
     + Added support for MacroExpr as FunCall
2000-11-25 05:10:21 +00:00
Jean-Francois Lefebvre
2459138130 2000-11-24 00:10 UTC+0100 jfl (mafact) <jfl@mafact.com> 2000-11-23 23:08:19 +00:00
Ron Pinkas
75294d2ded 2000-11-21 08:55 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/pp/ppcomp.c
   * source/compiler/harbour.c
     * Corrected compiler warnings.

   * source/compiler/harbour.slx
     * Small optimization in handling of s_sLastBlock

   * tests/tstblock.prg
     + Added complex early macro test.
2000-11-21 16:56:14 +00:00
Ron Pinkas
5497bdf1e1 2000-11-16 02:35 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
     ! Fixed jump optimization for HB_P_SEQBEGIN and HB_P_SEQEND
2000-11-16 16:02:46 +00:00
Ryszard Glab
c4c3b17b9a ChangeLog 2000-11-13 20:25 UTC+0100 2000-11-13 19:14:32 +00:00
Ron Pinkas
d60088eac0 2000-11-10 11:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.sly
     + Added support for early macro of expansion declared symbol for simple macro expression within CodeBlock (Like Clipper).

   * source/rtl/tgetint.prg
     ! Corrected creation of bSetGet if uVar == NIL, to avoid compile error:
       "Code block contains both macro and declared symbol references".
2000-11-10 19:43:13 +00:00
Ron Pinkas
3ad80020bf 2000-11-08 24:10 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/cmdcheck.c
   * utils/hbpp/hbpp.c
     + Added missing type case for C++ compilers.

   * source/compiler/simplex.c
     * Added 1 missing var reset.
2000-11-08 22:10:48 +00:00
Ron Pinkas
bcca8b7b78 2000-11-07 22:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
     + Added: #define HB_COMP_ERR_BLOCK                       47
   * source/compiler/hbgenerr.c
     + Added Error: "Code block contains both macro and declared symbol references"

   * source/compiler/harbour.c
     * Made public: hb_compLocalGetPos() and hb_compStaticGetPos()

   * source/compiler/harbour.slx
     + Added: char * hb_comp_SLX_LastBlock( BOOL bReset )

   * source/compiler/harbour.sly
     + Added logic to support Early Expansions of Macro within CodeBlock unless parenthesized.

   + tests/tstblock.prg
     + New test of Early/Late expansion of Macros within CodeBlocks.
2000-11-08 07:25:07 +00:00
Ryszard Glab
9372a26e6b ChangeLog 2000-11-07 16:25 UTC+0100 2000-11-07 15:23:57 +00:00
Ron Pinkas
28e1134746 2000-11-06 22:10 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/cmdcheck.c
   * utils/hbpp/hbpp.c
     + Added support for complex Command Line #defines

   * source/pp/ppcore.c
     * Renamed ParseDefine() to hb_pp_ParseDefine() and made it public.
2000-11-07 06:10:11 +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
Ron Pinkas
c3cde2a777 2000-11-02 15:20 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.sly
     + Added support for extended parameters to __GET() and __GETA()
     ! Corrected 2nd parameter of __GETA() to reflect only the Base Array Name.

   * source/rtl/tget.prg
     ! Added support for :SubScript in __GETA()

   * include/hbextern.ch
     - Removed _GET_
     + Added __GETA
2000-11-02 23:18:49 +00:00
Ron Pinkas
ee24175dc0 2000-11-01 17:25 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.sly
     ! Optimized _GET_ support.
     + Added support for GET of ObjectData and ObjectData ArrayIndex.

   * source/rtl/tget.prg
     + Added method ParsePict() and logic to support dynamic modification of the picture by altering :Picture as in Clipper.

   * tests/testread.prg
     + Added line to demonstrate GET of ObjectData and dynamic modification of a PICTURE clause.
2000-11-02 01:28:51 +00:00
Ron Pinkas
97f36b7075 2000-11-01 04:25 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     + Added support for pseudo function _GET_(...)
   * source/compiler/harbour.sly
     + Added support for pseudo function _GET_(...) to be converted into appropriate __GET(...) or __GETA(...)
   * source/rtl/tget.prg
     + Added __GETA() to correctly support early binding of Array Element Index of GET
   * tests/testread.prg
     + Added code to test correct (early) binding of Array Element Index of GET
2000-11-01 12:23:24 +00:00
Ron Pinkas
b324acddea 2000-10-27 08:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/genc.c
    * source/compiler/genhrb.c
    * source/compiler/genjava.c
    * source/compiler/genobj32.c
    * source/compiler/harbour.c
    * source/compiler/harbour.l
    * source/compiler/harbour.slx
    * source/compiler/harbour.sly
    * source/compiler/harbour.y
      - Removed License Exception from core compiler files that are not part of HVM or HRL

    /* Dave, could you please verify this is correct. */
2000-10-27 15:54:28 +00:00
Ron Pinkas
5fc2d50895 2000-10-22 09:05 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
     ! Corrrected bug reported by Luiz regarding menuto.prg

   * source/compiler/harbour.slx
     ! Corrected 1 debug trace message.

   * contrib/dot/pp.prg
     ! Corrected "Unbalanced '{'" warning reported by John.
     ! Corrected 2 typos in variable names reported by John.
2000-10-22 16:10:16 +00:00
Ryszard Glab
19679cd238 ChangeLog 2000-10-15 14;25 UTC+0100 2000-10-15 12:15:48 +00:00
David G. Holm
82ea52b808 See ChangeLog entry 2000-10-10 16:30 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2000-10-10 20:48:46 +00:00
David G. Holm
e3c4d1c3d1 See ChangeLog entry 2000-10-05 16:00 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2000-10-05 20:14:26 +00:00
David G. Holm
31d5180c0a See ChangeLog entry 2000-10-05 15:00 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2000-10-05 19:10:56 +00:00
Ron Pinkas
90dd4a548c 2000-10-02 13:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/hbpcode.c
     * Corrected 1 compiler warning.

   * source/pp/ppcomp.c
     * Cleaned-up and corrected bug when rules files had an #include directive.
     + Added CloseInclude() and moved relevant logic into it.

   * source/pp/ppcore.c
     - Removed unused s_iIncludes, and hb_pp_nEmptyStrings

   * utils/hbpp/hbpp.c
     + Added local hb_pp_nEmptyStrings to hb_pp_Parse()
2000-10-02 20:02:42 +00:00
Ron Pinkas
c286823cb4 Added few comments. 2000-09-27 16:39:49 +00:00