Commit Graph

911 Commits

Author SHA1 Message Date
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
Ron Pinkas
3f91829caf 2001-05-08 14:50 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     % Removed numerous redundant rules.
     + Added logic to detect and raise #error on implementation of NON Declared method.

   * source/rtl/tclass.prg
     + Added logic to dispose of posibble "(...)" suffix to Method Name in AddVirtual(), AddMethod(), and AddClsMethod().
2001-05-08 21:50:09 +00:00
Ron Pinkas
196044b21f 2001-05-07 11:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     ! Added missing parameter to declaration of AddMultiData()

   * source/compiler/harbour.c
     ! Corrected broken Linked-List links in hb_compDeclaredInit()

   * source/compiler/hbpcode.c
     * Minor correction declared parameters checking.

   * source/vm/hvm.c
     + Added complete call stack display to hb_vmRequestCancel()
       /* Cancelling will now show the complete call stack, rather than the not very helpful just current procedure. */
2001-05-07 18:45:55 +00:00
Ron Pinkas
e9fda3ebb9 2001-05-04 17:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* contrib/dot/pp.prg
   * contrib/dot/rp_run.ch
     ! Few corrections to Pre Processor, and Interpreter.

   * include/hbclass.ch
     + Added support for METHOD implementations without requiring the CLASS Clause.
     + Added support for METHOD implementations without requiring the "()" if no parameters needed.
2001-05-05 00:12:14 +00:00
David G. Holm
79ddaad730 See ChangeLog entry 2001-05-02 15:00 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-05-02 18:53:55 +00:00
Ron Pinkas
ee674c5116 2001-05-02 11:05 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     * Changed HB_NESTED_CLONED to record BaseArray instead of first item.
     * Reverted declaration of hb_arrayClone to use 2nd paramater ( pClonedList ) for futute Thread Safety.

   * source/vm/arrays.c
     * Corrected handling of nested (shared) empty array in hb_arrayClone().
     * Reverted definition of hb_arrayClone() to use 2nd parameter ( pClonedList ) for future Thread Safety.

   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/vm/hvm.c
     * Added required 2nd parameter ( NULL ) to calls to hb_arrayClone()
2001-05-02 18:36:34 +00:00
David G. Holm
59b29a8263 2001-04-30 13:00 UTC-0400 David G. Holm <dholm@jsd-llc.com>CVS: ---------------------------------------------------------------------- 2001-04-30 17:02:43 +00:00
Ron Pinkas
c1188f415a 2001-04-28 02:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     - Removed 2nd parameter from hb_arrayClone() declaration

   * source/vm/arrays.c
     - Removed 2nd parameter from definition of hb_arrayClone(), added a static s_pClonedList instead.

   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/vm/hvm.c
     - Removed 2nd parameter from calls to hb_arrayClone()
2001-04-28 21:26:43 +00:00
David G. Holm
31db690182 See ChangeLog entry 2001-04-27 22:30 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-04-28 02:30:53 +00:00
David G. Holm
cc0d80a066 See ChangeLog entry 2001-04-27 15:00 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-04-27 19:03:46 +00:00