Commit Graph

405 Commits

Author SHA1 Message Date
Viktor Szakats
ce08e02654 2000-05-31 23:57 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-05-31 21:53:43 +00:00
Maurilio Longo
b39d909ac4 20000531-22:15 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-31 20:19:07 +00:00
Viktor Szakats
19e3bbe4d5 2000-05-31 13:53 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-05-31 12:04:56 +00:00
Viktor Szakats
07088ae6a6 2000-05-31 13:53 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-05-31 11:54:28 +00:00
Jean-Francois Lefebvre
13a7a697a1 2000-05-29 22:21 UTC+0200 JFl&RaC <jfl@mafact.com>,<rac@mafact.com> 2000-05-29 20:35:05 +00:00
Viktor Szakats
9217251a5a 2000-05-29 02:47 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-05-29 00:51:57 +00:00
Jean-Francois Lefebvre
937101dd91 *harbour/include/hboo.ch
*harbour/include/hbclass.ch
 Now support MI, scoping, fowarding and delegating
 Also support 10 chars limit by not prefixing the Classname when in 10 chars mode

*harbour/include/hbsetup.ch
 Allow the configuration of Hidden message

*harbour/source/rtl/objfunc.prg
 added function __objDerivedFrom(oSelf, oObj | cClassName)

*harbour/source/rtl/tclass.prg
 Major modification to implement MI & scoping
 Added message :Super to acces frist superclass object instance
 Added message :IsDerivedFrom(oObj | cClassName ) (Xbase++ comp.)

*harbour/source/vm/proc.c
  added char * hb_procname( int iLevel, char * szName )
  extracted from HB_FUNC( PROCNAME ) to allow it to be called from c
  HB_FUNC( PROCNAME ) modified to call the previous'one

*harbour/source/vm/classes.c
  Major modification to implement MI & Scoping
  Added function Sender() used by delegating to allow full polymorphism
  Added function __CLS_PARAM used by the preprocessor
2000-05-28 20:09:56 +00:00
Viktor Szakats
be81ee127d 2000-05-27 23:12 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-05-28 19:52:03 +00:00
Ron Pinkas
04837b2eaa 2000-05-22 10:40 UTC-800 Ron Pinkas <Ron@Profit-Master.com>
* include/hbvmpub.h
     * Modified HB_FS_FIRST to  ( ( HB_SYMBOLSCOPE ) 0x04 )

   * source/compiler/harbour.c
     * Minor optimization when storing HB_FS_FIRST

   * source/pp/pptable.c
     - Removed built-in rule, for STRUCTURE support

   * source/vm/runner.c
     ! Fixed bug when there is no startup procedure

   * source/rtl/tclass.prg
     - Removed HB_Structure()

   * include/hbextern.ch
     * Moved EXTERNAL HB_STRUCTURE to separate section

   * tests/teststru.prg
     + added #INCLUDE "..\Include\HBSTRUC.CH"

   + include/hbstruc.ch

   + source/rtl/hbstruc.prg

   * makefile.bc
     + Added rules for hbstruc.prg
2000-05-26 07:39:42 +00:00
Ryszard Glab
61737c34d9 ChangeLog 20000524-17:55 GMT+1 2000-05-24 15:49:41 +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
eb2d8afdb4 20000522-06:15 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
     + Added "as structure", "as stru", "as array of structure", "as array of stru"

   * source/compiler/hbpcode.c
     * Improved some logic in hb_StrongType()

   * source/vm/hvm.c
     ! Corrected startup symbol when having to use Main() as per Ryszard.

   * source/pp/pptable.c
     + Added the equivalent of:
        #COMMANDS STRUCTURE <StruName> <Var1> AS <Type1> [, <VarN> AS <TypeN> ] => ;
                  STATIC __<StruName> := {|| IF( __<StruName> == NIL, , ) , HB_Structure( <"StruName">, { <"Var1"> [, <"VarN">] } )} ;;
                  DECLARE <StruName> <Var1> AS <Type1> [ <VarN> AS <TypeN> ] ;;
                  #TRANSLATE AS NEW <ClassName> => AS CLASS <StruName> := ( Eval( __<StruName> ), HB_Structure( <StruName> ) )

	#TRANSLATE AS NEW <ClassName> => AS CLASS <ClassName> := <ClassName>():New()

   * source/rtl/tclass.prg
     + Added Function HB_Structure() ( Fully Declared! ) This function is used internally, but may be freely called from Clipper level.
       It Aceepts Parameter 1 Structure Name, and optional parameter 2, as array of structure variable names.
       If called with 2nd parameter, returns NIL (just creates the new Structure), if called with just parameter 1, it returns
       new instance of defined structure.

   + tests\teststru.prg
     + Added demo for new structure syntax
2000-05-22 13:53:14 +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
Maurilio Longo
3d1d1d3875 20000510-22:01 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-10 20:07:30 +00:00
Ryszard Glab
902545e657 ChangeLog 20000507-14:15 GMT+1 2000-05-07 11:57:32 +00:00
Antonio Linares
35fd44dad5 20000505-19:21 GMT+1 2000-05-05 17:20:24 +00:00
Ryszard Glab
bb1ba3c1d1 ChangeLog 20000505-19:15 GMT+1 2000-05-05 17:09:46 +00:00
Ryszard Glab
afd8141942 ChangeLog 20000504-17:10 GMT+1 2000-05-04 15:02:17 +00:00
Viktor Szakats
503b74c9af 20000502-19:28 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-02 17:35:26 +00:00
Viktor Szakats
4e4af6c94e 20000502-19:28 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-02 17:25:09 +00:00
Viktor Szakats
9ab7a9a305 20000502-19:12 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-02 17:10:28 +00:00
Ryszard Glab
ded93951c0 ChangeLog 20000502-17:15 GMT+1 2000-05-02 15:08:25 +00:00
Ryszard Glab
fcac8dc38e ChangeLog 20000502-14:55 GMT+1 2000-05-02 12:47:25 +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
fdb62e01c5 20000502-09:30 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-02 07:31:14 +00:00
David G. Holm
91ea081a6b See ChangeLog entry 2000-05-02 01:45 GMT-4 David G. Holm <dholm@jsd-llc.com> 2000-05-02 05:46:45 +00:00
Viktor Szakats
4f884b97a4 20000502-02:13 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-02 00:13:40 +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
382f8da021 20000502-01:14 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-01 23:11:11 +00:00
Ryszard Glab
b82fbc0aa2 ChangeLog 20000501-19:05 GMT+1 2000-05-01 16:56:48 +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
d2a2b542ea 20000501-17:42 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-01 15:48:24 +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
e3ea62558f ChangeLog 20000501-15:45 GMT+1 2000-05-01 13:38:43 +00:00
Ryszard Glab
c3f95a9ee9 ChangeLog 20000430-17:45 GMT+1 2000-04-30 15:37:05 +00:00
Antonio Linares
b3281f0563 20000427-00:24 GMT+1 2000-04-26 22:24:01 +00:00
Ron Pinkas
13c38352c7 20000426-12:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* harbour/include/hbcomp.h
       + Added:
         BYTE   pStack[256];              /* Compile Time Stack */
         SHORT   iStackIndex;              /* Compile Time Stack Index */
         BYTE   pFunctionCalls[256];      /* Array of Function Calls Compile Time Stack Postion */
         SHORT  iFunctionIndex;           /* Index into Array of Function Calls Compile Time Stack Postion */

    * harbour/include/hberrors.h
       * Modified Memory Errors to indicate the requested size.
       -* Removed few Strong Type warnings, and modified few others.

    * harbour/include/hbexprb.c
      * Modified all HB_EXPR_PCODE?( hb_compGenPCode1 ,...) to HB_EXPR_GENPCODE?( ... ) to diferntiate between the
        calls top GenPCode?() and the other calls using this macro, since the GenPCode?() now uses additional parameter:
	BOOL bAffectStack
      * Modified all the GenPCode?() to pass additional required paramter.

    * harbour/include/hbexprc.c
      * Modified all HB_EXPR_PCODE?( hb_compGenPCode1 ,...) to HB_EXPR_GENPCODE?( ... ) to diferntiate between the
        calls top GenPCode?() and the other calls using this macro, since the GenPCode?() now uses additional parameter:
	BOOL bAffectStack
      * Modified all the GenPCode?() to pass additional required paramter.

    * harbour/include/hbexprop.h
      + Added macros:
        #define HB_EXPR_GENPCODE1( action, p1 ) action( (p1) )
        #define HB_EXPR_GENPCODE2( action, p1, p2, p3 ) action( (p1), (p2), (p3) )
        #define HB_EXPR_GENPCODE3( action, p1, p2, p3, p4 ) action( (p1), (p2), (p3), (p4) )
        #define HB_EXPR_GENPCODE4( action, p1, p2, p3, p4, p5 ) action( (p1), (p2), (p3), (p4), (p5) )

	And:

        #define HB_EXPR_GENPCODE1( action, p1 ) action( (p1), pMacro )
        #define HB_EXPR_GENPCODE2( action, p1, p2, p3 ) action( (p1), (p2), (p3), pMacro )
        #define HB_EXPR_GENPCODE3( action, p1, p2, p3, p4 ) action( (p1), (p2), (p3), (p4), pMacro )
        #define HB_EXPR_GENPCODE4( action, p1, p2, p3, p4, p5 ) action( (p1), (p2), (p3), (p4), (p5), pMacro )

    * harbour/include/hbmacro.h
       Added:
         extern void hb_compGenPCode1( BYTE, HB_MACRO_DECL );
         extern void hb_compGenPCode2( BYTE, BYTE, BOOL, HB_MACRO_DECL );
         extern void hb_compGenPCode3( BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL );
         extern void hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL );
         extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL, HB_MACRO_DECL );

	 And:
         extern void hb_compGenPCode1( BYTE byte, HB_MACRO_DECL );
         extern void hb_compGenPCode2( BYTE byte1, BYTE byte2, BOOL bStackAffected, HB_MACRO_DECL );
         extern void hb_compGenPCode3( BYTE byte1, BYTE byte2, BYTE byte3, BOOL bStackAffected, HB_MACRO_DECL );
         extern void hb_compGenPCode4( BYTE byte1, BYTE byte2, BYTE byte3, BYTE byte4, BOOL bStackAffected, HB_MACRO_DECL );
         extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL, HB_MACRO_DECL );

	 *** I think this is redundant but I went by exisitng declarations !!! Ryszard Please Check !!!

    * harbour/source/compiler/harbour.c
      * Modified GenPCode2-N() to require additional paramter.
      * Modified GenPCode2-N() to call StrongType() if needed.
      * Modified all the GenPCode?() calls to pass additional required paramter.

    * harbour/source/compiler/harbour.y
      * Modified all the GenPCode?() to pass additional required paramter.

    * harbour/source/compiler/hbgenerr.c
       * Modified Memory Errors to indicate the requested size.
       -* Removed few Strong Type warnings, and modified few others.

    * harbour/source/compiler/hbpcode.c
      Added void hb_compStrongType( int iSize ) - This is the Strong Type Checker! It's not 100% completed but it's stable and the
      approch guarntee 100% accuracy once we fine tune the calculations of the Compile Time Stack to be identical to the R/T Stack.

    * harbour/source/vm/macro.c
      * Modified GenPCode2-N() to require additional paramter.
      * Modified GenPCode2-N() to call StrongType() if needed.
      * Modified all the GenPCode?() calls to pass additional required paramter.

    * harbour/tests/testwarn.prg
      + Added code to demonstrate more warnings.
2000-04-26 20:04:07 +00:00
Antonio Linares
88366b743d 20000426-21:05 GMT+1 2000-04-26 19:05:03 +00:00
Antonio Linares
1664467170 20000426-21:03 GMT+1 2000-04-26 19:03:53 +00:00
Antonio Linares
843f0cbf71 20000426-21:02 GMT+1 2000-04-26 19:01:13 +00:00
Ryszard Glab
91e200477b ChangeLog 20000426-13:15 GMT+1 2000-04-26 11:10:44 +00:00
Viktor Szakats
8b84b0a6ea 20000426-00:22 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-25 22:23:18 +00:00
Ron Pinkas
a3b90dd225 20000425-07:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
     * Replaced sequential calls to hb_compGenPCode3() + hb_compGenPCode3() with 1 call to new hb_compGenPCode4()

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

   * include/hbcomp.h
     + Added hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE )

   * source/vm/macro.c
     + Added hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE, HB_MACRO_DECL )
2000-04-25 14:38:23 +00:00
Antonio Linares
b989aea90c 20000425-14:55 GMT+1 2000-04-25 12:54:12 +00:00
Ryszard Glab
9f23de3925 ChangeLog 20000425-12:40 GMT+1 2000-04-25 10:37:40 +00:00
Antonio Linares
c33abe4f18 20000425-11:26 GMT+1 2000-04-25 09:24:57 +00:00
Antonio Linares
476ed76bd5 20000425-11:17 GMT+1 2000-04-25 09:17:13 +00:00
Viktor Szakats
14bdf627b1 20000425-04:37 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-25 02:34:47 +00:00
Viktor Szakats
94ffc45414 20000425-03:38 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-25 01:38:22 +00:00