Commit Graph

1905 Commits

Author SHA1 Message Date
Ryszard Glab
680a20f4e9 ChangeLog 20000515-17:15 GMT+1 2000-05-15 15:07:28 +00:00
Ron Pinkas
4eb57576a2 20000514-22:25 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
    - Removed: not needed states
    - Removed "class method" "class data"
    + Added rules for "declare""

  * source/compiler/harbour.y
    * Changed rules for DECLARE FUNCTION as per Ryszard suhhestion, New Sysntax is simply:
        DECLARE FunName([...]) [As ...]
    * Changed rules for DECLARE CLASS as per Ryszard suhhestion, New Sysntax is simply:
        DECLARE ClassName MethodName([...]) [As ...] DataVar [As ...]

  * source/compiler/harbour.c
    ! Minor correction to allow final declaration to override previous declaration of same function.

  * tests/testwarn.prg
    * Modified code to demonstrate syntax functions, classes and objects of a declared class declarations.
2000-05-15 05:35:04 +00:00
Ron Pinkas
7733005732 20000514-19:17 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.y
    ! Additional Correction so '@' handled correctly on any var in a Function Declaration.
2000-05-15 02:17:10 +00:00
Ron Pinkas
0527bfff2f 20000514-18:57 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
    * Remmed some debug printf()
2000-05-15 02:03:27 +00:00
Ron Pinkas
998c3e4c84 20000514-12:20 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.y
    + Seperated the DECLARE... from Function, moved into a Declare, and Added Declare as type of Source.
    ! Added reset of hb_comp_iVarScope to DECLARE... to fix wrong "Statement not allowed outside of procedure or function"
2000-05-15 01:59:21 +00:00
Ron Pinkas
cd9e54dc06 20000514-12:20 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.y
    + Seperated the DECLARE... from Function, moved into a Declare, and Added Declare as type of Source.
    ! Added reset of hb_comp_iVarScope to DECLARE... to fix wrong "Statement not allowed outside of procedure or function"


   * source/compiler/hbgenerr.c
     * Modified : "3Duplicate Declaration of %s \'%s\'" to accept 1st parameter type of redeclaration ( Function, Class, Method ).

   * source/compiler/harbour.c
     * Modified calls to hb_compGenWarning() to use additional parameter of redclaration type.
2000-05-14 19:22:22 +00:00
Ron Pinkas
7943176b91 20000514-10:07 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
    ! Fixed parse error when DO OPTIONAL WITH 1 or " or other non alpha charcaters
    ! Fixed parse error when FOR Var := OPTIONAL TO ...
2000-05-14 17:07:30 +00:00
Ron Pinkas
f336ac266e 20000514-09:45 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.y
    ! Fixed GPF when using DECLARE CLASS and -w < 3

  * source/compiler/harbour.c
    ! Fixed GPF when using DECLARE CLASS and -w < 3
2000-05-14 16:47:48 +00:00
Ron Pinkas
d1d3198841 20000514-09:10 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
    ! Fixed parse error when DO OPTIONAL WITH ...
    * Changed FROM to FROM CLASS in AS Obect FROM CLASS ... (fixed conflict of FROM with DO FROM ...)
    * Changed AS ... ARRAY to AS ARRAY OF ...
2000-05-14 16:12:23 +00:00
Ryszard Glab
aaf0d2c062 ChangeLog 20000514-14:55 GMT+1 2000-05-14 12:47:34 +00:00
Ryszard Glab
e692ba8959 ChangeLog 20000513-14:50 GMT+1 2000-05-13 12:44:55 +00:00
Maurilio Longo
9b2f72dc5a 20000513-13:51 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-13 12:00:12 +00:00
Maurilio Longo
f8c0aa412d 20000513-00:51 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-12 22:55:13 +00:00
Maurilio Longo
c1671404ae 20000513-00:19 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-12 22:26:40 +00:00
Ron Pinkas
95dd157b13 20000512-08:00 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.y
    + Added support for END to be used with FOR loops.
2000-05-12 15:07:48 +00:00
Maurilio Longo
e2dec8ecae 20000512-13:31 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-12 11:35:33 +00:00
Maurilio Longo
3d1d1d3875 20000510-22:01 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-10 20:07:30 +00:00
Ron Pinkas
30cc98a20d 20000510-03:00 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* include/hbcomp.h
    + Added new structures COMCLASS and COMMETHOD
    + Added new element pClass to structure VAR
    + Added:
	extern PCOMCLASS hb_compClassAdd( char * );
	extern PCOMCLASS hb_compClassFind( char * );
	extern PCOMMETHOD hb_compMethodAdd( PCOMCLASS pClass, char * );
	extern PCOMMETHOD hb_compMethodFind( PCOMCLASS pClass, char * );

  * source/compiler/harbour.c
    + Added:
	PCOMCLASS hb_compClassAdd( char * );
	PCOMCLASS hb_compClassFind( char * );
	PCOMMETHOD hb_compMethodAdd( PCOMCLASS pClass, char * );
	PCOMMETHOD hb_compMethodFind( PCOMCLASS pClass, char * );
    * Modified hb_compVariableAdd() to process params of declared class methods.

  * source/compiler/harbour.l
    + Added tokens CLASSMETHOD CLASSDATA and FROMCLASS

  * source/compiler/harbour.y
    + Added support for class declaration syntax:
      DECLARE CLASS ClassName HAS Method MethodName( ... ) As ... HAS Data PropertyName ...
    + Added support for declaration of Object of a sdeclared class sysntax:
      DECLARE oObjectVar AS Object FROM ClassName

  * source/compiler/hbpcode.c
    + Started support for object methods and properties type checking.

  * tests/testwarn.prg
    + Added code to demonstrate declarion of classes and objects of a declared class.
2000-05-10 10:13:16 +00:00
Paul Tucker
d0fd162828 Added casts 2000-05-10 06:47:38 +00:00
Maurilio Longo
e820d6adeb 20000509-22:27 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-09 20:32:51 +00:00
Ron Pinkas
cca893bb9d 20000509-00:15 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hbpcode.c
     ! Corrcted HB_P_NOT and minor fixes.
2000-05-09 07:16:21 +00:00
Ron Pinkas
d3cba77156 20000508-22:50 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
     - Removed un used token DECLARE_

   * source/compiler/harbour.y
     ! Fixed warning about conflict
     ! Verified all calls to hb_compVariableAdd() to use hb_comp_cVarType (and VT_OFFSET_* constants) as 2nd parameter
     + Added rules to support syntax of declartion of variable by reference parameter.

   * include/hbcomp.h
     + Added :
	#define VT_OFFSET_BYREF             60
	#define VT_OFFSET_VARIANT           90
	#define VT_OFFSET_OPTIONAL          90

   * source/compiler/harbour.c
     * Minor cleanup in hb_compVariableAdd()

   * source/compiler/hbpcode.c
     * Modified hb_compStrongType() to use VT_OFFSET_* constants.

   * source/compiler/hbgenerr.c
     * Changed "number" to "#" in HB_COMP_WARN_PARAM_TYPE message.

   * tests/testwarn.prg
     + Added code to demonstrate new "Declared Refernced Paramater" syntax:
         DECLARE FRead( nHandle As Num, @cBufferVar As Char, nBytes As Num ) AS Num
2000-05-09 06:08:45 +00:00
Luiz Rafael Culik
257b644e41 See changelog 20000508 22:50 gmt -3 2000-05-09 01:50:45 +00:00
Ron Pinkas
123e544346 20000508-00:20 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
     + Added rules so that "optional" won't conflict with identifiers named optional.
2000-05-08 07:20:50 +00:00
Ron Pinkas
0d504bfd5c 20000507-21:20 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
     + Added token "optional"

   * source/compiler/harbour.y
     + Added token "optional", DecParam, DecParamList, OptParams.
     + Added support for optional parameters syntax in declared functions.

   * source/compiler/harbour.c
     + Added logic in hb_compVariableAdd() to deal with optional parameters of declared functions.

   * source/compiler/hbpcode.c
     + Added logic in hb_compStrongType() to deal with optional parameters of declared functions.

   * tests/testwarn.prg
     + Added code to demonstrate usage and warnings of optional parameters in declared functions.
2000-05-08 04:28:21 +00:00
Patrick Mast
da551faae0 Added -? and -h option for the compiler. 2000-05-07 21:35:26 +00:00
Ron Pinkas
8d68c4da51 20000507-13:35 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* include/hberrors.h
     + Added : #define HB_COMP_WARN_VAL_NOT_USED               20

   * source/compiler/harbour.c
     + Added logic to hb_compOptimizeFrames() to warn about invalid statics usage.

   * source/compiler/hbgenerr.c
     + Added: "3Value of Variable \'%s\' never used"

   * source/compiler/hbpcode.c
     * Enhanced support for statics

   * tests/testwarn.prg
     + Added more code to demonstrate more warnings.
2000-05-07 20:36:33 +00:00
Ron Pinkas
3e7718e76e 20000507-05:20 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* include/hbpcomp.c
     + Added pPrivates to structure FUNCTION.

   * source/compiler/harbour.c
     + Added logic to maintain linked list pPrivates of pFunc.

   * source/compiler/harbour.y
     + Added support for MEMVAR AS ... syntax.

   * source/compiler/hbpcode.c
     + Added support for FIELD AS ... and MEMVAR AS both local and global.
     ! More refinments

   * tests/testwarn.prg
     + Added code to demonstrate "Adaptive Type Checking".
2000-05-07 12:27:18 +00:00
Ryszard Glab
902545e657 ChangeLog 20000507-14:15 GMT+1 2000-05-07 11:57:32 +00:00
Ron Pinkas
83015ce56c 20000506-22:45 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* include/hbcomp.h
     + Added #define VS_NONE 0

   * source/compiler/harbour.c
     ! Fixed bug in hb_compVariableAdd() was never adding new var to pFunc->pMemvars because
       hb_comp_iVarScope was tested with == rather & VS_MEMVAR

   * source/compiler/harbour.y
     + Added hb_comp_iVarScope = VS_NONE to reset it after PRIVATE PUBLIC and PARAMETERS statements.

   * source/compiler/hbpcode.c
     + Added logic to reset type of privates (need to check publics) after calls to functions or procedures which might affect them.
     ! Many fixes and consolodiations
2000-05-07 05:55:07 +00:00
Ron Pinkas
6cc426a0b8 20000506-16:35 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hbpcode.c
     + Added logic to hb_compStrongType() to support object methods and properties.
     * Enhanced logic of array checks.

   * include/hberrors.h
     ! Added #define HB_COMP_WARN_ARRAY_ASSIGN_SUSPECT

   * source/compiler/hbgenerr.c
     * Added : 4Suspicious type in assignment to declared array element expected: \'%s\'"
2000-05-06 23:39:13 +00:00
Ron Pinkas
81ac286072 20000504-22:40 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hbpcode.c
     + Added logic to allow PLUS an MINUS to accept any type as long as same.
     ! Fixed compiler warning about pVar
     * Minor optimizations
2000-05-06 19:18:02 +00:00
Viktor Szakats
f291e04f8b 20000506-17:46 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-06 15:43:22 +00:00
Antonio Linares
3aa92d7d36 20000505-19:56 GMT+1 2000-05-05 17:55:43 +00:00
Antonio Linares
bf97048440 20000505-19:23 GMT+1 2000-05-05 17:22:24 +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
44f903550e ChangeLog 20000505-17:53 2000-05-05 15:47:37 +00:00
Maurilio Longo
e15730ef43 20000505-10:47 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-05 08:51:09 +00:00
Ron Pinkas
a6f92b5008 20000504-23:00 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/cmdcheck.c
     + Added -w4 option for the compiler.
2000-05-05 06:02:37 +00:00
Ron Pinkas
2583f6096d 20000504-22:40 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
     - Removed static qualifier from hb_compVariableGetPos() so it can be called from hb_compStrongType()

   * source/compiler/hbpcode.c
     + Added logic to hb_compStrongType() to allow assigment of NIL to any type variable.
     + Added "Adaptive Type Checking" to control type mismatch in undeclared variables.

   * include/hberrors.h
     ! Added #define HB_COMP_ARRAY_ASSIGN_TYPE to HB_COMP_WARN_ARRAY_ASSIGN_TYPE

   * source/compiler/hbgenerr.c
     * Added : Moved "Suspecious ..." to level w4

   * tests/testwarn.prg
     + Added code to demonstrate "Adaptive Type Checking".
2000-05-05 05:43:21 +00:00
Maurilio Longo
20f9dd010b 20000505-00:27 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-05-04 22:31:14 +00:00
Ryszard Glab
afd8141942 ChangeLog 20000504-17:10 GMT+1 2000-05-04 15:02:17 +00:00
Ron Pinkas
7b648ebc7e 20000504-04:05 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hbpcode.c
     ! Fixed GPF when Array of 0 elements created.
2000-05-04 11:05:09 +00:00
Ron Pinkas
86e2384686 20000504-03:10 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
     + Added:
	"as bool array"      { return AS_LOGICAL_ARRAY; }
	"as boolean array"   { return AS_LOGICAL_ARRAY; }
	"as var"             { return AS_VARIANT; }
	"as variant"         { return AS_VARIANT; }
	"as num array"       { return AS_NUMERIC_ARRAY; }
	"as numeric array"   { return AS_NUMERIC_ARRAY; }
	"as char array"      { return AS_CHARACTER_ARRAY; }
	"as character array" { return AS_CHARACTER_ARRAY; }
	"as string array"    { return AS_CHARACTER_ARRAY; }
	"as logical array"   { return AS_LOGICAL_ARRAY; }
	"as bool array"      { return AS_LOGICAL_ARRAY; }
	"as boolean array"   { return AS_LOGICAL_ARRAY; }
	"as date array"      { return AS_DATE_ARRAY; }
	"as array array"     { return AS_ARRAY_ARRAY; }
	"as block array"     { return AS_BLOCK_ARRAY; }
	"as object array"    { return AS_OBJECT_ARRAY; }
	"as var array"       { return AS_VARIANT; }
	"as variant array"   { return AS_VARIANT; }

   * source/compiler/harbour.y
     + Added AsArray
     + Added : %token AS_NUMERIC_ARRAY AS_CHARACTER_ARRAY AS_LOGICAL_ARRAY AS_DATE_ARRAY AS_ARRAY_ARRAY AS_BLOCK_ARRAY AS_OBJECT_ARRAY AS_VARIANT_ARRAY
     + Added rules to support declarion of array elements type

   * source/compiler/harbour.c
     ! Minor fix to hb_compVariableGetPos() to signify var usage if warning level lower than 3

   * source/compiler/hbpcode.c
     + Added logic to hb_compStrongType() to support type checking of array elements declared type.

   * include/hberrors.h
     + Added #define HB_COMP_ARRAY_ASSIGN_TYPE

   * source/compiler/hbgenerr.c
     + Added : "3Incompatible type in assignment to declared array element expected: \'%s\'"

   * tests/testwarn.prg
     + Added code to demonstrate more warnings.

   * contrib/hbclip/hbclip.ch
     + Added additional strong typing compatibility translations
2000-05-04 10:26:57 +00:00
Viktor Szakats
bba60d9c11 20000504-09:12 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-04 07:10:29 +00:00
Ron Pinkas
eec5c93ec1 20000503-21:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* include/hbcomp.h
     + Added:
	#define VU_NOT_USED    0
	#define VU_INITIALIZED 1
	#define VU_USED        2

   * source/compiler/harbour.c
      * Modified refrences to pVar->iUsed to use new VU_* constants.

   * source/compiler/hbpcode.c
     * Enhanced hb_compStrongType() to check and set pVar->iUsed with new VU_*constants.
2000-05-04 04:35:54 +00:00
Ron Pinkas
f6cc8be651 20000503-19:25 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
     * Corrcetd pVars->iUsed = 1 to pVars->iUsed |= 1 in hb_compVariableGetPos() so it won't override -1 value from StrongType()
2000-05-04 02:27:03 +00:00
Viktor Szakats
ba32c1fa9d 20000503-22:43 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-05-03 20:39:41 +00:00
Ron Pinkas
7da8b5fc2a 20000503-01:45 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* include/hberrors.h
     + Added:
        #define HB_COMP_NOT_INITIALIZED

   * source/compiler/hbgenerr.c
     + Added: "3Variable \'%s\' used but never initialized"

   * source/compiler/hbpcode.c
     * Enhanced hb_compStrongType() to warn against un-initialized varaiable usage.
2000-05-03 08:45:45 +00:00