Commit Graph

9 Commits

Author SHA1 Message Date
Ron Pinkas
ba6f7b3667 2000-09-17 23:45 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
     ! Corrected definition of _PROCREQ_()

   * tests/testdecl.prg
     - Removed 1 line of unspported syntax.

   * source/macro/macro.slx
   * source/compiler/harbour.slx
     % Greatly optimized, much simplified, smaller, and faster.
     ! Converted all "non conventional" macros to functions.

   * source/compiler/simplex.c
     % Greatly optimized, now as fast as Flex based lexer.
     ! Converted all "non conventional" macros to functions.
     + Added support for predefind match pattern, {WS} (White Space), in KEYWORDS and WORDS.

   + source/compiler/harbour.sly
     * Same as harbour.y, excluding un-needed support for reserved words used as identifiers.
     /* Harbour.slx works with either harbour.y or harbour.sly, but harbour.sly creates smaller harbour.exe. */

   * hb_slex.bc
     * Modified to use harbour.sly
2000-09-18 07:04:53 +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
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
Ron Pinkas
07cad51b18 2000-08-07 12:20 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.y
     + Added support for OPTIONAL Var... as first parameter[s] of declared function.

   * tests/testdecl.prg
     + Added: DECLARE SomeFunc( OPTIONAL SomeVar AS STRING ) and DECLARE SomeFunc( OPTIONAL SomeVar AS STRING, OPTIONAL OtherVar )
       to test syntax of OPTIONAL as first parameter[s] of declared function.

   * source/compiler/harbour.slx
     - Removed few redundant rules.
     * Improved handling of INC/DEC
2000-08-07 19:25:21 +00:00
Viktor Szakats
2f43451c9d 2000-07-30 14:32 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-07-30 12:44:49 +00:00
Ron Pinkas
8ba6374685 2000-07-29 07:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
    + Added 2 rules to support DECLARE MACROVAR and DECLARE MACRO TEXT

  * tests/testdecl.prg
    ! Fixed to allow it to be run without RT Error
2000-07-29 14:54:10 +00:00
Ryszard Glab
2493328906 ChangeLog 2000-07-29 15:55 UTC+0100 2000-07-29 13:48:20 +00:00
Ron Pinkas
ffa6630674 2000-07-28 14:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     + Added logic to account for HB_SYMBOL_NAME_LEN
     + Added 2 rules to support DECLARE SomeVar as in PRIVATE SomeVar as oppose to Strong Type DECLARE SomeClass SomeVar ...

   + tests/testdecl.prg
     + Added test program to utilize the DECLARE in its different contexts.
2000-07-28 21:03:36 +00:00