Commit Graph

71 Commits

Author SHA1 Message Date
Jean-Francois Lefebvre
7620d41c8b 2001-11-28 22:45 GMT+1 JFL (mafact) <jfl@mafact.com> 2001-11-28 22:19:14 +00:00
Jean-Francois Lefebvre
891690234d 2001-11-18 22:15 GMT+1 JFL (mafact) <jfl@mafact.com> 2001-11-18 21:20:09 +00:00
Viktor Szakats
869067ee70 2001-09-10 23:53 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-09-10 22:04:29 +00:00
Jean-Francois Lefebvre
20c316b350 2001-09-04 22:50 GMT +1 JFL (mafact) <jfl@mafact.com> 2001-09-04 21:24:58 +00:00
Antonio Linares
06f0d34cb0 Added new clause PERSISTENT or PROPERTY to both datas and methods 2001-09-02 12:27:53 +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
Jean-Francois Lefebvre
5e42eeb160 2001-07-10 00:15 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-07-09 22:40:33 +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
Jean-Francois Lefebvre
c8398e01a3 2001-06-15 23:35 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-06-15 21:37:14 +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
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
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
Antonio Linares
5f748b1566 minor fix on line 172 2001-03-01 14:09:42 +00:00
Jean-Francois Lefebvre
c5b537afaa 2001-28-02 23:41 GMT+1 JFL (Mafact) <jfl@mafact.com> 2001-02-28 22:45:51 +00:00
Jean-Francois Lefebvre
77a9b26ade 2001-01-18 00:18 GMT+1 JFL (Mafact) <jfl@mafact.com> 2001-01-17 23:20:57 +00:00
Jean-Francois Lefebvre
a929635f89 2000-12-02 01:13 UTC+0100 jfl (mafact) <jfl@mafact.com> 2000-12-02 00:16:11 +00:00
Jean-Francois Lefebvre
4a0aa45b5f 2000-11-29 23:30 UTC+0100 jfl (mafact) <jfl@mafact.com> 2000-11-29 22:32:56 +00:00
Ron Pinkas
f83f7d5134 2000-10-19 19:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* contrib/dot/pp.prg
     ! Added logic to support multi-word stoppers needed by multi-word restricted list, like
      [ <lClick: ON CLICK, ON LEFT CLICK> <uLClick> ]
      /* Only 1 known error remains in processing of fwh/samples/fwbrow.prg */

   * include/hbclass.ch
     * Temprarily removed \ preceding < of not existing match markers, in nested # directive in result.
       /* Need to be readded once PP is fixed. */
2000-10-20 02:41:53 +00:00
Ron Pinkas
b0277b2fbc 2000-10-18 01:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
* contrib/dot/pp.prg
      ! More corrections and refinments in pre-processing
      * Improved handling of command line parameters (no longer requires -P, -CCH doesn't require -U)
      ! Corrected handling of file extension.

    * include/hbclass.ch
      * Corrected <MethodName> to \<MethodName> when result marker not a match marker.
      * Corrected <params,...> to <param> (result marker used match marker format).
2000-10-18 08:29:28 +00:00
Jean-Francois Lefebvre
3ce6cc25d2 2000-10-17 21:15 UTC+0200 JFL (mafact) <jfl@mafact.com> 2000-10-17 19:08:46 +00:00
Jean-Francois Lefebvre
5901d1d3c8 2000-10-09 22:15 UTC+0200 JFL (mafact) <jfl@mafact.com> 2000-10-09 20:10:32 +00:00
Jean-Francois Lefebvre
905df3feae 2000-10-03 23:45 UTC+0100 JFL <jfl@mafact.com> 2000-10-03 21:42:24 +00:00
Ron Pinkas
cb52798e45 2000-09-23 10:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     * Changed AS ... from ALL CAPS to Capitalized, to avoid conflict with FWH #defines, for those not using modified DLL.CH
2000-09-23 16:56:36 +00:00
Jean-Francois Lefebvre
97f459c7d3 2000-09-20 00:52 UTC+0200 JFL (mafact) <jfl@mafact.com> 2000-09-19 22:57:06 +00:00
Ron Pinkas
b1658bda6d 2000-09-07 00:10 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hbcomp.h
   * source/compiler/harbour.c
     + Added: char hb_comp_cCastType

   * source/compiler/harbour.y
     ! Optimized AsType
     + Added: support for type casting like: Var := FunCal() AS ... and, return Var AS ...
     /* Todo: add support for Array[n] := ... AS ..., and oVar:Data := ... AS ... */

   * source/compiler/hbpcode.c
     + Added type casting support to:
       HB_P_POPLOCAL
       HB_P_POPLOCALNEAR
       HB_P_POPMEMVAR
       HB_P_POPSTATIC
       HB_P_RETVALUE

   * include/hbclass.ch
     + Added type casting to resolve Strong Type warnings:
       return s_oClass:Instance() AS CLASS _CLASS_NAME_
       local Self AS CLASS <ClassName> := QSelf() AS CLASS <ClassName>

   /* Note: Strong Type code, and Class code, should compile with upto -w4, without [invalid] Strong Type warnings. */
2000-09-07 07:31:31 +00:00
Ron Pinkas
c201844c39 2000-09-06 12:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
     + Added AS CHAR[ACTER] for compatibility with FW (FW can't use #translate AS CHAR => AS STRING, because FW also uses AS CHAR
       in DLL calls where AS CHAR referes to *native* char type).
     ! Correted AS ... to allow multiple space/tab, and support abbreviations.

   * source/compiler/simplex.c
     + Added KEYWORD_ACTION() and WORD_ACTION() macros.

   * source/macro/macro.slx
     ! Optimized numerous HB_*_ID to a single HB_IDENTIFIER.

   * source/compiler/harbour.slx
     + Added AS CHAR[ACTER] for compatibility with FW (FW can't use #translate AS CHAR => AS STRING, because FW also uses AS CHAR
       in DLL calls where AS CHAR referes to *native* char type.
     ! Optimized numerous HB_*_ID to a single HB_IDENTIFIER.

   * include/hbclass.ch
     * Changed _<AssignName> to <AssignName> in HB_MEMBER directives.
     + Added AS CLASS <ClassName> to LOCAL Self := QSelf()

   * tests/testdecl.prg
     + Added code to demonstrate missing support for class memeber RT type protection (AS ...)
2000-09-06 19:53:10 +00:00
Antonio Linares
5b1cf5bd65 *** empty log message *** 2000-09-06 02:33:03 +00:00
Ron Pinkas
f40fe5235a 2000-09-05 15:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     ! Changed AS STRING to AS String, AS NUMERIC to AS Numeric, AS OBJECT to AS Object to avoid collision with FW #defines in dll.ch.
2000-09-05 22:32:33 +00:00
Ron Pinkas
11deab0acc 2000-09-02 13:10 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     ! Changed @MEthod() to @MethodName() to avoid possible conflicts with #translate METHO()...
2000-09-02 20:12:41 +00:00
Ron Pinkas
488bdded7a 2000-09-02 12:45 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/pp/ppcore.c
     + Added new kind of Result Marker - OMMIT, singinfied as <-Identifier->
       /* This allows for custom code based on existance of optional clause, when the value of the clause itself is not needed */

   * include/hbclass.ch
     * Took advantage of new Ommit Result Marker, changed [<.ctor.> AS CLASS _CLASS_NAME_] to [<-ctor-> AS CLASS _CLASS_NAME_]

   * source/compiler/harbour.y
     - Removed rules for DummyTrue, used in _HB_MEMBER (no longer needed)
2000-09-02 19:54:48 +00:00
Ron Pinkas
2d1a852803 2000-09-02 09:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* hb_slex.bc
     * Synchronized with makefile.bc

   * include/hbclass.ch
     + Added: [AS <type>] optional clause to all Methods/Messages syntax.
     + Added directives to generate class declaration from same class creation code.

   * include/hbcomp.h
   * source/compiler/harbour.c
     + Added: char hb_comp_cDataListType;

   * source/compiler/harbour.l
     + Added support for new _HB_CLASS and _HB_MEMBER alternate class declaration syntax.

   * source/macro/macro.slx
     ! Moved .T., .Y., .F., and, .N. from self contained words to words.

   * source/compiler/harbour.slx
     ! Moved .T., .Y., .F., and, .N. from self contained words to words.
     + Added support for new _HB_CLASS and _HB_MEMBER alternate class declaration syntax.

   * source/compiler/harbour.y
     ! Improved definition of formal and optional paramter lists.
     + Added support for alternate class declaration syntax:
       _HB_CLASS ClassName
       _HB_MEMBER { [AS ...] Var1, VarN }
       _HB_MEMBER MethodName( [ [OPTIONAL] [@]FormalParam [AS ...] | @FunPointer() ] ) [ AS ... ]
       /* This syntax allows the class declaration to be on multiple seperated lines (needed to allow utilization of class creation code.)
          Tokens _HB_CLASS & _HB_MEMBER are not final, until some discussion with Ryszard. */

   * source/compiler/hbpcode.c
     * Completed classes strong type support for adaptive type variable.

   * source/rtl/tlabel.prg
   * source/rtl/treport.prg
     ! Corrected typos: AS {} -> INIT {} AS ARRAY, AS .T. -> INIT .T. AS LOGICAL etc..

   * tests/testdecl.prg
     * Changed to demonstrate class creation used as declaration.

   * utils/hbtest/hbtest.prg
     * Changed DBFNTX -> DBFCDX (was not working because DBFNTX is disabled.
2000-09-02 16:30:36 +00:00
Ron Pinkas
da1d815d4d 2000-08-28 10:35 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
   * source/compiler/harbour.y
     + Added support for DECLARE FunName(...) AS CLASS ClassName
     + Added support for DECLARE FunName( ... @SomeFun() ... ) - Function Pointer declared parameter.

   * source/compiler/simplex.c
     * Corrected some compiler warnings.

   * source/compiler/harbour.slx
     * Reenabled support for ID_ON_HOLD.

   * include/hberror.h
     + Added: #define HB_COMP_WARN_RETURN_SUSPECT             28

   * source/compiler/hbgenerr.c
     + Added: "4Suspecious return type: \'%s\' expected: \'%s\'"

   * source/compiler/hbpcode.c
     + Completed support for Strong Typed variables as declared classes, as well as Adaptive Typed usage with declared classes.
     * Few other corrections and enhancements.

   * include/hbclass.ch
     + Added TClass declaration:
	DECLARE TClass ;
		New( cName AS STRING, OPTIONAL SuperParams ) AS CLASS TClass ;
		Create() AS OBJECT;
		Instance() AS OBJECT ;
		AddClsMthds( cName AS STRING, @Method(), nScope AS NUMERIC, n2 AS NUMERIC, n3 AS NUMERIC );
		AddMultiClsData( cType AS STRING, uVal, nScope AS NUMERIC, aDatas AS ARRAY OF STRING );
		AddMultiData( cType AS STRING, uVal, nScope AS NUMERIC, aDatas AS ARRAY OF STRING );
		AddMethod( cName AS STRING, @Method(), nScope AS NUMERIC );
		AddInLine( cName AS STRING, bBlock AS CODEBLOCK, nScope AS NUMERIC );
		AddVirtual( cName AS STRING )
     + Added declaration to s_oClass  AS CLASS TClass

   * tests/testdecl.prg
     * Minor refinement.
2000-08-28 17:55:49 +00:00
Viktor Szakats
4874336088 2000-07-29 02:58 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-07-29 01:04:53 +00:00
Jean-Francois Lefebvre
44432ddd56 2000-07-28 00:05 UTC+0200 JfL <jfl@mafact.com> & RaC <Rac@mafact.com> 2000-07-27 22:04:48 +00:00
Ron Pinkas
2bdcf6417e 2000-06-24 11:42 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* include/hbclass.ch
     - Uncommented the VO #xtranslate as they do work correctly.

   * source/pp/pplib.c
     - Removed int hb_comp_iIncLine

   * include/hbcomp.h
     - Removed int hb_comp_iIncLine
     + Added int hb_comp_iCompiled
     + Added char*  hb_comp_szFile
     + Added BOOL  hb_comp_bError

   * source/compiler/harbour.c
     ! Fixed Compile Time Line Numbers
     ! Fixed Run Time Line Numbers

   * source/compiler/harbour.l
     ! Rewrote rules for STRING1 STRING2 STRING3 INDEX, were severly broken with regard to unterminated support.
       /* When working on errors, I founf major problems, with unterminated Array Index and Unterminated Strings
          I'm surprised no one reported.  This mass was a nightmere to fix. it seems to be working great now. */

   * source/compiler/harbour.y
     ! Many fixes to support correct line numbers.

   * source/compiler/hbgenerr.c
     ! Fixed Error System to never report more than 1 error per source line.

   * source/pp/ppcomp.c
     - Removed code for hb_comp_iIncLine

   * source/pp/ppcore.c
     * Minor formating.
2000-06-24 19:06:52 +00:00