Commit Graph

80 Commits

Author SHA1 Message Date
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
Ron Pinkas
fc1f6778a8 2001-04-09 22:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/hbgenerr.c
     * Corrected spelling for suspicious.

   * source/compiler/hbpcode.c
     * Commented one debung printf()

   * include/hbcomp.h
     + Added extern PCOMCLASS hb_comp_pReleaseClass

   * source/compiler/genc.c
     + Added logic to release declared classes after compilation.

   * source/compiler/harbour.c
     + Added logic for standard classes declaration to hb_compDeclaredInit()
     + Added ERROR class declaration and started GET class declaration
2001-04-10 03:42:27 +00:00
Brian Hays
805e00fbab 2001-04-09 02:20 UTC-0800 Brian Hays <bhays@abacuslaw.com> 2001-04-09 21:15:26 +00:00
Ron Pinkas
bf9fd1abba 2001-04-09 11:50 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
   * source/compiler/hbgenerr.c
     + Added #define HB_COMP_WARN_PARAM_SUSPECT 18 -> "4Suspecious parameter: %s expected: \'%s\'"

   * include/hbcomp.h
     + Added extern PCOMDECLARED  hb_comp_pReleaseDeclared;

   * source/compiler/harbour.c
     + Added static void hb_compDeclaredInit( void ) initializes decalaration of standard functions;

   * source/compiler/genc.c
     * Changed release code from hb_comp_pFirstDeclared to hb_comp_pReleaseDeclared.

   * source/compiler/hbpcode.c
     * Many refinments.
2001-04-09 19:02:59 +00:00
Ron Pinkas
bb7e6f1111 2001-03-24 02:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/hbpcode.c
     ! Fixed some StrongType logic.

   * source/compiler/genc.c
   * source/rdd/dbf1.c
   * source/rtl/gtapi.c
   * source/vm/hvm.c
     ! Corrected Compiler warnings.

   * source/compiler/harbour.c
   * include/hbcomp.h
     * Minor formatting.
2001-04-07 20:27:26 +00:00
April White
113f758c2e 2001-04-01 15:46 GMT+6 April White <awhite@mail.rosecom.ca> 2001-04-01 13:40:49 +00:00
Antonio Linares
948b6b4b3b improved support for HB_P_STATICNAME 2001-02-08 10:17:17 +00:00
Antonio Linares
da5619069a New hb_p_staticname() function added. Modified hb_p_statics() function. 2001-02-05 09:25:26 +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
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
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
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
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
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
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
5dafe5ee47 20000522-09:20 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
     + Added code to main() to process symbols and look for the first symbol in the prg and give it scope HB_FS_FIRST

   * source/compiler/genc.c
     + Added check for HB_FS_FIRST in the symbol processing loop, and output to the symbol table.

   * source/vm/hvm.c
     ! Fixed bug where if first symbol was an init symbol, it got executed twice.

   * source/vm/runner.c
     + Added logic to look for first symbol, to provide correct startup.
     ! Fixed bug where if first symbol was an init symbol, it got executed twice.

   * source/rtl/tclass.prg
     ! Corrected minor typo in HB_Structure()

   * tests/teststru.prg
     ! Corrected minor typo.

   + tests/testinit.prg
     + Added file to test proper startup processing.
2000-05-22 16:27:20 +00:00
Ron Pinkas
8e184f78a4 20000520-21:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* include/hbvmpub.h
     + Added: #define HB_FS_FIRST    ( ( HB_SYMBOLSCOPE ) 0x40 )

   * source/compiler/genc.c
     + Added logic to add | HB_FS_FIRST to first defined symbol in a prg.

   * source/vm/hvm.c
     * Modified hb_vmProcessSymbols() to llok for HB_FS_FIRST for startup procedure instead of any first symbol.

   * source/compiler/harbour.y
     * Minor consilidation in AsType
       *** I am aware of 6 reduce conflicts resulting from previous removal of FROM_CLASS, and am looking into it. ***

   * tests/testwarn.prg
     ! Corrected the #translate to reflect latest syntax
2000-05-21 04:55:06 +00:00
Ron Pinkas
d4b1d4c1fd 20000502-23:15 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* include/hbcomp.h
     - Removed members cParamTypes and iParamCount from COMSYMBOL
     + Added member USHORT iStackSize to FUNCTION structure
     * Modified member pStack of FUNCTION to not pre allocate any memory.
     + Added new structure COMDECLARED
     + Added: extern PCOMDECLARED hb_compDeclaredAdd( char * ) and extern PCOMDECLARED hb_compDeclaredFind( char * );
     + Adede: extern PCOMDECLARED  hb_comp_pFirstDeclared and extern PCOMDECLARED  hb_comp_pLastDeclared

   * include/hberrors.h
     + Added:
        #define HB_COMP_DUP_DECLARATION                 17
        #define HB_COMP_DECLARATION_CONFLICT            18

   * source/compiler/genc.c
     * Modified hb_compGenCCode() to free the Declared Function linked list.

   * source/compiler/harbour.c
     + Added: PCOMDECLARED hb_compDeclaredAdd( char * ) and PCOMDECLARED hb_compDeclaredFind( char * );
     + Adede: PCOMDECLARED  hb_comp_pFirstDeclared and PCOMDECLARED  hb_comp_pLastDeclared

   * source/compiler/harbour.y
     * Modified parsing of DECLARE FUNCTION to use new PCOMDECLARED rather than PCOMSYMBOL

   * source/compiler/hbgenerr.c
     + Added:
       "3Duplicate Declaration of Function %s"
       "3Function \'%s\' conflicting with its declaration"

   * source/compiler/hbpcode.c
     * Modifief hb_compStrongType() to utilize PCOMDECLARED rather than PCOMSYMBOL
     * Modifief hb_compStrongType() to increase the pFunc->pStack as needed.

   * tests/testwarn.prg
     + Added code to demonstrate more warnings.
2000-05-03 06:32:02 +00:00
Viktor Szakats
4f4de292f3 20000502-10:41 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-02 08:41:18 +00:00
Viktor Szakats
382f8da021 20000502-01:14 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-01 23:11:11 +00:00
Viktor Szakats
d2baf5dbfc 20000501-18:48 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-01 16:49:56 +00:00
Viktor Szakats
778c316fa5 20000501-16:08 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-01 14:05:47 +00:00
Ryszard Glab
91e200477b ChangeLog 20000426-13:15 GMT+1 2000-04-26 11:10:44 +00:00
Viktor Szakats
94ffc45414 20000425-03:38 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-25 01:38:22 +00:00
Ryszard Glab
2fb49392b4 ChangeLog 20000424-19:15 GMT+1 2000-04-24 17:09:30 +00:00
Viktor Szakats
523eb5e21d 20000423-04:02 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-23 01:59:52 +00:00
Viktor Szakats
7140870656 20000422-22:47 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-22 20:44:26 +00:00
Viktor Szakats
2d7f222ed0 20000422-21:36 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-22 19:33:37 +00:00
Viktor Szakats
28a4c0837e 20000422-20:37 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-22 18:34:36 +00:00
Viktor Szakats
12fcab20d5 20000422-18:41 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-22 16:38:48 +00:00
Viktor Szakats
09bb6f21b2 20000422-16:16 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-22 14:13:56 +00:00
Ron Pinkas
220b114c3e 20000421-14:20 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hvm.c
     + Added support for new PCodes HB_P_PUSHBYTE, and HB_P_PUSHONE
     + Added void hb_vmPushOne( void ), void hb_vmPushZero( void ) and void hb_vmPushByte( BYTE )
     * Optimized HB_P_ZERO by using hb_vmPushZero()

   * source/compiler/harbour.c
     - REMMED not used hb_compGenPushInteger()
     * Optimized hb_compGenPushLong() to USE HB_P_ZERO, HB_P_ONE, HB_P_PUSHBBYTE, HB_P_PUSHBINT, or , HB_P_PUSHLONG as needed.
     * Optimized few pairs of hb_compGenPCode1() to use hb_compGenPCode2() instead.

   * source/compiler/genc.c
     + Added support for PCodes HB_P_PUSHBYTE, and HB_P_PUSHONE

   * source/compiler/hbpcode.c
     + Added hb_compGenPCode2( BYTE, BYTE )

   * source/compiler/harbour.y
     * Optimized few pairs of hb_compGenPCode1() to use hb_compGenPCode2() instead.

   * source/include/hbpcode.h
     + Added PCodes HB_P_PUSHBYTE, and HB_P_PUSHONE

   * source/include/hbvm.h
     + Added:
        extern void    hb_vmPushOne( void ); /* pushes a 0 onto the stack */
        extern void    hb_vmPushZero( void ); /* pushes a 1 onto the stack */
        extern void    hb_vmPushByte( BYTE bNumber ); /* pushes a integer number onto the stack */

   * include/hbcomp.h
     - Removed #ifef of GenObj32
2000-04-21 21:51:21 +00:00
Ron Pinkas
9e13451dde 20000420-20:10 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
     + Added hb_compOptimizeFrames() - Resolves and or removes HB_P_FRAME & HB_P_SFRAME.
     * Modified hb_compFixReturns() to call hb_compOptimizeFrames()

   * source/compiler/genc.c
     - Removed the SWITCH LOOP from hb_compGenCCompact()

   * source/compiler/genhrb.c
     - Removed the SWITCH LOOP from hb_compGenCCompact()

   * source/compiler/genjava.c
     - Removed the SWITCH LOOP from hb_compGenCCompact()

   * source/compiler/genobj32.c
     - Removed the SWITCH LOOP from hb_compGenCCompact()
2000-04-21 03:22:00 +00:00
Viktor Szakats
e327eca7ee 20000421-00:34 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-20 22:31:42 +00:00
Viktor Szakats
caac685f3e 20000420-23:58 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-20 21:56:17 +00:00
Viktor Szakats
503b9a920e 20000420-23:33 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-20 21:41:47 +00:00
Ryszard Glab
a14bd974c9 ChangeLog 20000419-18:40 GMT+1 2000-04-19 16:29:42 +00:00
Ron Pinkas
68f8243cbe 20000419-05:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hvm.c
     + Added PCodes HB_P_JAMPSHORT, HB_P_JAMPSHORTFALSE and HB_P_JAMPSHORTTRUE

   * source/compiler/harbour.c
     + Added hb_compOptimizeJumps() - Jumps Optimizer.
     + Added hb_compSort_ULONG() Call back function for qsort - used in the Jump Optimizer.
     + Added support for new elements of _FUNC.
     * Modified hb_compGen*Jump*() to support Short Normal and Far Jumps.

   * source/include/hbexprb.c
     * Reverted handling of .OR. .AND. and IIF() to use default (FAR) JUMPs - note the use of (0) when calling hb_compGenJump*().

   * source/compiler/genc.c
     + Added support for HB_P_JAMPSHORT, HB_P_JAMPSHORTFALSE and HB_P_JAMPSHORTTRUE

   * source/compiler/cmdcheck.c
     + Added support for new switch -J[0|1] default is J1 which enables the Jump Optimizer - Use -J0 to disable.

   * source/compiler/hbgenerr.c
     - Removed following errors:
        "Jump offset too long for HB_P_JUMP needed HB_P_JUMPFAR",
        "Jump offset too long for HB_P_JUMPTRUE needed HB_P_JUMPFARTRUE",
        "Jump offset too long for HB_P_JUMPFALSE needed HB_P_JUMPFARFALSE",

     * Changed "HB_P_JUMPx not found when fixing offset" to "Jump PCode not found"

   * source/include/hberrors.h
     - Removed following defines:
   	#define HB_COMP_ERR_INVALID_JUMPTRUE            46
   	#define HB_COMP_ERR_INVALID_JUMPFALSE           47
   	#define HB_COMP_ERR_JUMP_NOT_FOUND              48

   * source/include/hberrors.h
     + Added following to __FUNC
   	ULONG  * pNOOPs;                 /* pointer to the NOOP array */
   	ULONG  * pJumps;                 /* pointer to the Jumps array */
   	int    iNOOPs;                   /* NOOPs Counter */
   	int    iJumps;                   /* Jumps Counter */

   * source/include/hbpcode.h
     + Added HB_P_JAMPSHORT, HB_P_JAMPSHORTFALSE and HB_P_JAMPSHORTTRUE
2000-04-18 12:41:08 +00:00
Viktor Szakats
8440262da1 20000415-12:38 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-15 10:36:42 +00:00
Ron Pinkas
aa77b49532 20000414-17:57 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
     * Corrected few Compiler warnings about type format

   * source/compiler/genc.c
     * Corrected few Compiler warnings about possible unitilized iBytes.
2000-04-15 00:57:56 +00:00
Ron Pinkas
d5fdbc0e34 20000413-19:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hvm.c
     * Added FAR support to HB_P_SEQBEGIN and HB_P_SEQEND

   * source/compiler/harbour.c
     * Modified hb_compGenJumpThere() to revert back to "short" JUMPs when fixing the jumps, it will than use HB_P_NOOP for the unused 3rd byte.
     * It now supports all variations of JUMP including SEQBEGIN and  SEQEND as well as the logig to not interfere with "short" JUMPs.
     + Added more error handling to hb_compGenJumpThere()

   * source/include/hbexprb.c
     * Modified handling of .OR. .AND. and IIF() to use "short" JUMPs - note the use of -1 when calling hb_compGenJumpXXX().

   * source/compiler/genc.c
     + Added support for HB_P_NOOP (was missing!)
     * Modified HB_P_SEQBEGIN and HB_P_SEQEND to support FAR jumps

   * source/compiler/hbgenerr.c
     + Added following errors:
        "Jump offset too long for HB_P_JUMP needed HB_P_JUMPFAR",
        "Jump offset too long for HB_P_JUMPTRUE needed HB_P_JUMPFARTRUE",
        "Jump offset too long for HB_P_JUMPFALSE needed HB_P_JUMPFARFALSE",
        "HB_P_JUMPx not found when fixing offset"

   * source/include/hbexprb.c
     + Added following defines:
	#define HB_COMP_ERR_INVALID_JUMP                45
	#define HB_COMP_ERR_INVALID_JUMPTRUE            46
	#define HB_COMP_ERR_INVALID_JUMPFALSE           47
	#define HB_COMP_ERR_JUMP_NOT_FOUND              48
2000-04-14 02:59:49 +00:00
Viktor Szakats
9815009a5c 20000413-12:32 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-13 10:35:42 +00:00
Ron Pinkas
be8587e794 20000413-01:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/include/hbpcode.h
     + Added HB_P_JUMPFAR, HB_P_JUMPFARFALSE, and HB_P_JUMPFARTRUE

   * source/compiler/hvm.c
     + Added support for HB_P_JUMPFAR, HB_P_JUMPFARFALSE, and HB_P_JUMPFARTRUE to support longer than 2^15 jumps.

   * source/compiler/harbour.c
     * Enhanced hb_compGenJump(), hb_compGenJumpFalse(), hb_compGenJumpTrue(), hb_compGenJumpHere() and hb_compGenJumpThere()
       to utilize HB_P_JUMPFAR, HB_P_JUMPFARFALSE, and HB_P_JUMPFARTRUE to support longer than 2^15 jumps.

   * source/compiler/genc.c
     + Added support for HB_P_JUMPFAR, HB_P_JUMPFARFALSE, and HB_P_JUMPFARTRUE to support longer than 2^15 jumps.
2000-04-13 09:46:07 +00:00
Paul Tucker
ba63909eca 20000401-03:20 EST Paul Tucker <ptucker@sympatico.ca> 2000-04-01 08:23:40 +00:00
Paul Tucker
fc1dd5c2de 20000331-15:20 2000-03-31 20:28:51 +00:00
Paul Tucker
f099c88357 20000331-15:20 est 2000-03-31 20:21:15 +00:00
Viktor Szakats
859d976666 20000321-12:32 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-03-21 11:40:25 +00:00
Viktor Szakats
d30c00ebbe 20000315-16:23 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-03-15 15:23:49 +00:00
Viktor Szakats
28d912ee09 20000315-14:28 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-03-15 13:32:17 +00:00
Viktor Szakats
6b72938dee 20000313-15:57 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-03-13 15:03:53 +00:00