Commit Graph

920 Commits

Author SHA1 Message Date
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
Ron Pinkas
e2e1eeb028 2001-07-22 14:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     * Changed 2nd parameter to BYTE iContext in hb_macroGetValue( HB_ITEM_PTR pItem, BYTE iContext )

   * include/hbexprop.h
     + Added #define  HB_ET_MACRO_LIST    16   /* &variable used as in literal arrays or parentesised expressions. */
     + Added #define  HB_ET_MACRO_INDEX   32   /* &variable used as arrays index. */

   * include/hbexprb.c
     + Added macro list support logic to hb_compExprUseArray()
     + Added generation of HB_P_MACROLIST,  HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX in hb_compExprUseMacro()

       /* HB_P_MACROLIST and HB_P_MACROLISTEND are only generated as an enevelope if array contains a one or more macro element
          which will generate an HB_P_MACROPUSHLIST. */

   * include/hbpcode.h
   * source/compiler/genc.c
   * source/compiler/hbfix.c
   * source/compiler/hbpcode.c
     + Added: new opcodes HB_P_MACROLIST, HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX.

   * source/vm/hvm.c
   * source/vm/macro.c
     + Added: support for new opcodes HB_P_MACROLIST, HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX.

       /* HB_P_MACROPUSHINDEX not completed yet.*/

   /* NOTE: This implements macro as literal array arguments list syntax <{ &cMacro }>.
           ( &Cmacro ) and Array[ &cMacro ] are not completed yet.

      *** All prgs must be recompiled due to new opcodes !!!
   */
2001-07-23 06:31:41 +00:00
Luiz Rafael Culik
1b1bc0135c See changelog 2001-07-22 18:00 GMT -3 2001-07-22 21:11:12 +00:00
Ryszard Glab
f6353a8674 ChangeLog 2001-07-22 20:15 UTC+0100 2001-07-22 19:03:52 +00:00
Ryszard Glab
4f4a73e9f9 ChangeLog 2001-07-21 16:15 UTC+0100 2001-07-21 15:25:12 +00:00
Ron Pinkas
b42709f955 2001-07-20 22:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbexpra.c
    % Wrapped hb_compExprSetGetBlock() unneeded with simplex build, with #ifndef SIMPLEX

  * include/hbexprb.c
    * Disabled support for HB_PUSHMACROARG within hb_compExprUseAssign()

  * include/hbexprc.c
    * Disabled support for HB_PUSHMACROARG within hb_compExprPushOperEq()
2001-07-20 19:47:26 +00:00
Martin Vogel
7ff137b5c8 2001-07-20 15:10 GMT+2 Martin Vogel <vogel@inttec.de> 2001-07-20 13:04:40 +00:00
Martin Vogel
ad9e413e24 2001-07-20 13:10 GMT+2 Martin Vopgel <vogel@inttec.de> 2001-07-20 11:14:33 +00:00
Ron Pinkas
6f912ba2bd 2001-07-19 20:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     + Added #define HB_MAX_MACRO_ARGS 16

   * source/vm/hvm.c
   * source/vm/macro.c
     + Added support for nested HB_P_MACROPUSHARG

   * contrib/dot/pp.prg
     - Removed bSplit in PP_PreProLine(). Instead added logic to split the line unless line is a directive.
2001-07-20 03:32:06 +00:00
Ron Pinkas
3928d386a1 2001-07-18 16:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/macro.c
   * source/vm/hvm.c
     % Simplified logic for suppoting macro lists. Removed global variables:
          int hb_vm_iFunCalls = 0, *hb_vm_aiMacroListParameters = NULL, hb_vm_iMacroListAllocated
       which are no longer needed. No longer using any logic in any PCODE case, other than HB_P_PUSHMACROARG.
       No longer using any arrays, or memory allocations.

   * include/hbexpra.c
   * include/hbexprb.c
     * HB_P_PUSHMACROARG will now be followed with a push symbol sequence, indicating its parrent function call.

   * include/hbpcode.h
     * Added decimal values into the description comments for readability.
2001-07-18 23:11:05 +00:00
Maurilio Longo
bd80e8d997 2001-07-18 09:06 GMT+2 Maurilio Longo <maurilio.longo@libero.it>
* source/rtl/tbrowse.prg
     + activated scoping
   * include/hbapierr.h
     include/hbapiitm.h
     include/hbvm.h
     source/rtl/errorapi.c
     source/vm/hvm.c
     source/vm/itemapi.c
     ! fixed va_start() use or, better, changed it to be compatible with OS/2 EMX GCC
       compiler which REQUIRES that va_start() calls use a type which cannot be promoted
       to something bigger. That is, this call is correct:
       va_start(valist, ulUnsignedLongType)
       while this one is not:
       va_start(valist, usUnsignedShortType)
       Using a type which can be promoted to a bigger one leads to memory corruption.
       I think this requirement could exist even on other ANSI C compilers.
     ! Removed workaround inside hb_itemDo() and hb_itemDoC() to prevent this corruption.
2001-07-18 07:21:03 +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
Martin Vogel
354a417174 2001-07-17 20:00 MEST Martin Vogel <vogel@inttec.de> 2001-07-17 17:47:34 +00:00
Jean-Francois Lefebvre
3ef4c3c4f9 2001-07-17 00:25 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-07-16 22:23:35 +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
Martin Vogel
d3fa759ecd 2001-07-15 20:15 MEST Martin Vogel <vogel@inttec.de> 2001-07-15 18:19:40 +00:00
Jean-Francois Lefebvre
1177052490 2001-07-12 00:40 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-07-11 22:42:17 +00:00
Jean-Francois Lefebvre
5e42eeb160 2001-07-10 00:15 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-07-09 22:40:33 +00:00
Antonio Linares
8a66835596 added profiler support to the dynamic symbol structure 2001-06-30 06:46:20 +00:00
David G. Holm
8ffc18801e See ChangeLog entry 2001-06-29 18:40 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-29 22:45:33 +00:00
Alexander S.Kresin
b3119cafb9 2001-06-26 20:45 GMT+3 Alexander Kresin <alex@belacy.belgorod.su> 2001-06-26 16:47:53 +00:00
Ron Pinkas
c57f209fda 2001-06-22 07:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/pp/ppcore.c
     + Added logic for new Idenitifier Match Marker <!AnyId!> which will only match Identifiers.
     + Added static BOOL IsIdentifier( char *szProspect )

   * include/hbclass.ch
     ! Changed <name> to <!name!> in 3 VO OO compatibility rules, where regular match marker was TOO generic.
     ! Reinstated default #define HB_CLS_VO
2001-06-22 14:31:24 +00:00
Ron Pinkas
6a4f162322 2001-06-22 06:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     ! Un-Commented out 3 rules used for VO OO and #undefed HB_CLS_VO instead.
2001-06-22 13:12:54 +00:00
Ron Pinkas
e49056d419 2001-06-21 22:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
* contrib/dot/pp.prg
     * Added support fort '|' as a continuation token (as in Clipper).

   * include/hbclass.ch
     - Commented out 3 rules used for VO OO compatibility that are TOO generic, and match unexpected input.

   * source/pp/ppcore.c
     - Recommented out test for continuation token at the end of an Expression in isExpres() (after correcting cause for prior reinstatment).
2001-06-22 05:22:42 +00:00
David G. Holm
a13ea3a883 See ChangeLog entry 2001-06-20 14:50 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-20 18:55:21 +00:00
David G. Holm
ddbe224275 See ChangeLog entry 2001-06-18 14:35 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-18 18:41:11 +00:00
David G. Holm
d3c4dc643b See ChangeLog entry 2001-06-18 14:00 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-18 18:04:05 +00:00
Jean-Francois Lefebvre
c8398e01a3 2001-06-15 23:35 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-06-15 21:37:14 +00:00
David G. Holm
cc172e3091 See ChangeLog entry 2001-06-14 17:15 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-14 21:20:43 +00:00
David G. Holm
998ef2d1ae See ChangeLog entry 2001-06-14 13:15 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-14 17:21:20 +00:00
Alexander S.Kresin
63d7b791a4 2001-06-07 10:15 GMT+3 Alexander Kresin <alex@belacy.belgorod.su> 2001-06-07 06:18:10 +00:00
David G. Holm
eea4a1eb00 See ChangeLog entry 2001-06-06 14:50 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-06 18:49:36 +00:00
David G. Holm
f8df859e21 See ChangeLog entry 2001-06-04 16:15 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-04 20:19:14 +00:00
Ron Pinkas
6aaecd70e6 2001-06-01 10:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* contrib/dot/pp.prg
     + PP_RunArray( asLines, aParams )
     + PP_Exec( aProcedures, aInitExit, nProcId, aParams )
     * Modified all PP_RunXXXX() to use PP_Exec()
     * RP_Comp_Err() now repports source line and line number with the sysntax error.

   * contrib/dot/pp_harb.ch
     + Added Tinterpreter() class
         METHOD New()
         METHOD AddLine( cLine )
         METHOD SetScript( cText )
         METHOD Compile()
         METHOD Run()
         METHOD RunFile( cFile, aParams, cPPOExt, bBlanks ) INLINE PP_Run( cFile, aParams, cPPOExt, bBlanks )
         METHOD ClearRules()
         METHOD InitStdRules()
         METHOD LoadClass()
         METHOD LoadFiveWin()

   * contrib/dot/prgscrpt.prg
     * Modified to demonstrate TInterpreter() syntax.

   * include/hbapi.h
   * source/vm/arrays.c
     * Fixed bug, in hb_stackArrayFromParams() and modified to accept a frame base parameter.

   * source/vm/arrayshb.c
     + Added HB_APARAMS() PRG wrapper to hb_stackArrayFromParams() returning array with passed parameter of the function calling HB_APARAMS()

   * source/rtl/do.c
     * Added required frams base parameter in calls to hb_stackArrayFromParams(). This fix population of oErr:Args if error occurs.
2001-06-01 17:42:09 +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
Jean-Francois Lefebvre
df0469310e 2001-05-21 21:35 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-05-21 19:48:54 +00:00
Jean-Francois Lefebvre
bcf30692fc 2001-05-20 23:15 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-05-20 21:19:12 +00:00
Ron Pinkas
77b2ea6255 2001-05-16 09:00 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     * Refined #error messages for OO compile time inegrity checks, as per input from Antonio and Dave.
2001-05-16 16:06:58 +00:00
Alexander S.Kresin
b95903fc29 2001-05-16 10:45 GMT+3 Alexander Kresin <alex@belacy.belgorod.su> 2001-05-16 06:42:04 +00:00
Viktor Szakats
37b052fc7a 2001-05-15 15:02 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-05-15 13:02:07 +00:00
Brian Hays
b677c6824e 2001-05-14 02:09 UTC-0800 Brian Hays <bhays@abacuslaw.com> 2001-05-14 21:04:43 +00:00
Jean-Francois Lefebvre
cb8fa099bd 2001-05-13 22:30 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-05-13 20:30:28 +00:00
Ron Pinkas
94596e571d 2001-05-13 09:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     % Removed many redundant rules (recently added for OO integrity checks).

     /* Found the PP problem that stopped me from implementing this optimized form before.
        It seems the PP has a problem with "[" follwing a an identifier without a space prefix like:
        #command TEST[([<param,...>])]

        It seems to work OK like this:
        #command TEST [([<param,...>])]
     */
2001-05-13 16:44:24 +00:00
Ron Pinkas
0a4e3d34ff 2001-05-11 14:15 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     + Added syntax declaration support for METHOD ... OPERATOR ...
2001-05-11 21:16:22 +00:00
Ron Pinkas
49c45dda27 2001-05-11 09:00 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     ! Fixed declaration support for OnError() METHODS
     ! Fixed support for Methods having space prefixing the "( ... )" in the method implementation.
     + Refined #error messages to report the Class Name .

   * source/pp/ppcore.c
     * Removed recently added but not required support of #define expansion in #error directive.
2001-05-11 16:06:37 +00:00
Ron Pinkas
48e605cbee 2001-05-10 22:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/rtl/tclass.prg
     + Added logic to dispose of posibble "(...)" suffix to Method Name in AddInline()
2001-05-11 05:08:59 +00:00
Ron Pinkas
00edd906cf 2001-05-10 15:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     + Added logic for NO Checking of OO Syntax (#ifdef NO_OO_ERR) - Use /dNO_OO_ERR to disable OO Syntax Checking.

   * source/pp/ppcore.c
     * Temporarily disabled support of #define expansion in #error directive.
2001-05-11 00:32:43 +00:00
Ron Pinkas
88d6d4ea34 2001-05-10 14:40 UTC-0800 Ron Pinkas <ron@profit-master.com> 2001-05-10 22:05:54 +00:00
Jean-Francois Lefebvre
82c577cfe2 2001-05-09 22:10 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-05-09 20:11:44 +00:00
Ron Pinkas
ac58f869ba removed 1 more redundant rule 2001-05-08 21:58:34 +00:00