Commit Graph

140 Commits

Author SHA1 Message Date
Viktor Szakats
4874336088 2000-07-29 02:58 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-07-29 01:04:53 +00:00
Ryszard Glab
512345997b ChangeLog 2000-07-25 19:00 UTC+0100 2000-07-25 17:20:21 +00:00
Alexander S.Kresin
f59a96e84f 2000-07-22 23:08 GMT+3 Alexander Kresin <alex@belacy.belgorod.su> 2000-07-22 19:17:46 +00:00
Viktor Szakats
7a5701da69 2000-07-12 08:46 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-07-12 07:29:09 +00:00
Ryszard Glab
38411220a9 ChangeLog 2000-07-03 11:40 UTC+0100 2000-07-03 09:35:57 +00:00
Ron Pinkas
b76f7c9ef5 2000-06-26 20:11 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>
* source/pp/ppcomp.c
     ! Fixed line number to ignore empty lines in #include files,when resuming parent file.
2000-06-27 03:17:31 +00:00
Alexander S.Kresin
81511f14d2 2000-06-26 23:05 GMT+3 Alexander Kresin 2000-06-26 19:16:57 +00:00
Alexander S.Kresin
c9f07c5672 source/pp/ppcore.c 2000-06-26 11:24:17 +00:00
Ron Pinkas
4f5dd5cb17 2000-06-25 22:14 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
     + Added rule for orphan "]"
     * Monor improvments to INDEX

   * source/compiler/hbgenerr.c
     * Minor improvements

   * source/pp/ppcomp.c
     ! Corrected line number was adding EmptyLines twice.
2000-06-26 05:30:43 +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
Ron Pinkas
ba9a9b1a45 2000-06-22 20:35 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcomp.c
     ! Fixed bug when NO CR between end of last line and EOF. Last line was duplicated when resuming parrent file.
2000-06-23 03:36:40 +00:00
Ron Pinkas
6384112232 2000-06-22 19:16 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     ! Added bStrict parameter to getExpReal(), all calls to getExpReal() pass FALSE, other than isExpres().
     So getExpReal() will now return invalid tokens like unterminated strings, unless bStrict is TRUE.
2000-06-23 02:22:51 +00:00
Ron Pinkas
baf6469d63 2000-06-22 03:30 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* include/hbclass.ch
     ! Uncommented  #xtranslate that was not pre-processing correctly, before recent fixes to ppcore.c and now works correctly.

   * source/compiler/harbour.c
     ! Fixed hb_compLinePush() to generate correct Run-Time Line Numbers.

   * source/pp/ppcomp.c
     - Removed one // comment.

   * source/pp/ppcore.c
     * Increased MAX_EXP to 2048 as requested by Brian Hays.
2000-06-22 10:38:30 +00:00
Ron Pinkas
35075a112c 2000-06-21 21:35 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     ! getExpReal() Fixed silly typo introduced this morning in previous fix, that broke the PP.
2000-06-22 04:36:50 +00:00
Ron Pinkas
e49d89c9df 2000-06-21 10:58 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     ! getExpReal() to not return invalid Clipper Expression like unterminated '([{'. This will solve many PP problems.
2000-06-21 18:01:23 +00:00
Ron Pinkas
c002ff28ee 2000-06-20 08:45 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     * Removed some /* reported as nested comments
2000-06-20 15:46:11 +00:00
Ron Pinkas
6e356923ef 2000-06-19 13:38 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hbgenerr.c
   * source/pp/ppcomp.c
     ! Fixed reporting of line numbers on erros.

   * source/pp/ppcore.c
     * More support for [] as string delimiters.

   * source/compiler/harbour.l
     + Added support for:
        ELSIF [ some string ] ...
        DO WHILE [ some string ] ...
        WHILE [ some string ] ...
        CASE [ some string ] ...

     /* Strangly, Clipper chockes on elseif [...] */
2000-06-20 04:31:43 +00:00
Alexander S.Kresin
512f8de581 source/pp/ppcore.c - fixed [ ... ] problem 2000-06-18 16:34:30 +00:00
Ryszard Glab
ee19f4b1d5 ChangeLog 2000-06-18 15:20 UTC+0100 2000-06-18 13:20:51 +00:00
Ron Pinkas
ca4f54eba8 2000-06-17 13:38 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     ! Fixed isExpress() to check last charcter of the expression and return false if it is one of these:
       ":/*+-%^=(<>". This fixed another problem reported by Brian Hays to do with the VO comaptibility #translates.

     /* We still have to find, why was isExpress() called with only partial expression, this should be fixed. */
2000-06-17 20:46:01 +00:00
Ron Pinkas
4787227a72 2000-06-16 10:55 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     ! Removed 1 // comment.
2000-06-16 18:05:09 +00:00
Viktor Szakats
a1374c507f 2000-06-16 13:37 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-06-16 11:43:12 +00:00
Ron Pinkas
cc8488348d 2000-06-16 01:42 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* makefile.bc
     - Removed redundant -Iinclude from echo into make.tmp (Harbour.exe)

   * source/compiler/hbgenerr.c
     - Removed no longer needed int iLine

   * source/pp/ppcore.c
     ! Fixed bug PP was not able to parse #command/translate if no space before "=>" like:
     #translate CRLF=>Chr(13) + Chr(10)
2000-06-16 08:48:09 +00:00
Ron Pinkas
99ca708ef6 2000-06-15 20:56 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
   * source/compiler/harbour.y
     + Added support for _ProcReq_() - compile time function used to implement SET FORMAT TO and
       SET PROCEDURE TO. Clipper implementation doesn't allow a run time function with this name, Harbour
       will only intercept it as compile time function, if used at BOL.
       As compile time function it only accepts a single "Literal", or "Literal + Literal".

   * source/compiler/hbgenerr.c
   * source/pp/ppcomp.c
     ! Fixed line numbering. Warnnings and Errors, should now report correct line numbers.
2000-06-16 04:07:14 +00:00
Ron Pinkas
37a0086bd1 2000-06-14 22:37 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcomp.c
     ! Fixed missing CR at EOF of #include file, causing #line directive to be on same line with the next line in parrent file.
     ! Big Improvment of line numbering of #line directive - almost identical to Clipper - to be continued.
2000-06-15 05:41:55 +00:00
Ron Pinkas
6343384017 2000-06-14 10:00 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     ! Fixed getExpReal() to terminate on unbalanced ')'
2000-06-14 17:06:33 +00:00
Ron Pinkas
5a862c6043 2000-06-13 08:08 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcomp.c
     ! Minor correction - There should be no empty lines between #line directive any more.
2000-06-13 15:08:08 +00:00
Ron Pinkas
1738f03fce 2000-06-13 03:00 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* makefile.bc
     + Added ppcomp.c and ppcore.c to list of harbour.exe dependencies.

   * source/pp/ppcore.c
   * source/compiler/harbour.y
     ! Corrected initialization of pFile->iLine to 1

   * source/pp/ppcomp.c
     ! Fixed redundnant empty lines generation and line numbering.
2000-06-13 10:08:22 +00:00
Ron Pinkas
f4a4d1f980 2000-06-07 22:50 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* include/hbpp.h
  * source/compiler/harbour.c
  * source/pp/ppcore.c
    * Modified hb_pp_SetRules() to receive 2nd parameter BOOL hb_comp_bQuiet, since ppcore is part of PP.lib which is linked
      into HBRUN.exe which does not include harbour.c where hb_comp_bQuiet is defined.

  * source/compiler/harbour.l
    ! Fixed parse error on IF [...]

  * source/vm/classes.c
    Posted patch provided by JF

  * source/rtl/tobject.prg
    Posted missing file provided by JF
2000-06-09 06:59:56 +00:00
Ron Pinkas
52c70a7db3 2000-06-07 22:50 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
     * main() Moved calls to hb_pp_init() to hb_pp_SetRules() in ppcore.c to avoid redefinition of standard defs.

   * source/pp/ppcore.c
     * hb_pp_SetRules() Moved calls to hb_pp_init() from main() in Harbour.c to avoid redefinition of standard defs.
     ! Minor fixes to warnings and errors.
2000-06-08 05:50:09 +00:00
Ron Pinkas
e5f03d9691 2000-06-05 19:50 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     * Changed hb_pp_SetRules() to only always default to .CH extension, if file name supplied without extension.
     ! Converted some printf() messages to standard warnnings and errors.

   * include/hberrors.h
     + Added:
		#define HB_PP_ERR_CANNOT_OPEN_RULES             15
		#define HB_COMP_ERR_BAD_RULES_FILE_NAME         16

		#define HB_PP_WARN_NO_DIRECTIVES                2
2000-06-08 04:45:13 +00:00
Ron Pinkas
743e74b93c 2000-06-05 19:50 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     * Changed hb_pp_SetRules() to only default to .CH extension, if file name as supplied without extension was not found.
     ! Improved Messages to report various possible conditions.
2000-06-06 02:51:06 +00:00
Ron Pinkas
d19e6ae858 2000-06-04 17:35 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     ! Corrected compiler warning
     ! Corrected @ after ; missing trailing space.
2000-06-05 00:37:14 +00:00
Ron Pinkas
1dbf8d3fcc 2000-06-04 11:16 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcomp.c
   * source/pp/ppcore.c
     ! Corrected compiler warnings
2000-06-04 18:47:53 +00:00
Ron Pinkas
9309b9f3c5 2000-06-04 09:40 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     * Changed case of '@' in hb_pp_RdStr() to only add missing space when in the begining of a new line.
2000-06-04 16:42:03 +00:00
Ron Pinkas
29eb8c65fa 2000-06-04 03:35 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     * Commented fix 2000-06-02 14:45 UTC-0800 Ron Pinkas <Ron@Profit-Master.com> until more complete solution
2000-06-04 10:52:40 +00:00
Ron Pinkas
d4785143b3 2000-06-04 03:30 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     * Corrected error message in SetRules() to report filename with default extension.
2000-06-04 10:33:56 +00:00
Ron Pinkas
fa68f5d2d8 2000-06-04 03:25 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     * Added \n to error message in SetRules()
2000-06-04 10:26:54 +00:00
Ron Pinkas
a3a61fd11d 2000-06-04 03:05 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* include/hbcomp.h
     + Added: extern char *        hb_pp_STD_CH;

   * include/hbpp.h
     + Added: extern void hb_pp_SetRules( BOOL (*hb_compInclude)(char *, PATHNAMES * ) );

   * source/compiler/hbusage.c
   * source/compiler/harbour.c
   * source/compiler/cmdcheck.c
     + Added support for -u[FileName]
     - Removed TODO for -u

   * source/pp/ppcomp.c
     + Added hb_pp_ReadRules() - Logic to process directives from user supplied command defs.

   * source/pp/ppcore.c
     + Added hb_pp_SetRules() - Logic to use predefined rules, none, or user defined.

   * source/pp/pptable.c
     + Added hb_pp_Table() - Moved predefined rules into this function, to allow for conditional use.
2000-06-04 10:12:52 +00:00
Ron Pinkas
dc5211fc52 2000-06-02 14:45 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     ! Added logic to CommandStuff() to fix problem with Keyword or Match Marker are matched after non provided multiple optional patterns.
2000-06-02 21:57:13 +00:00
Ron Pinkas
4c2db1057e 2000-06-02 02:05 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     ! Added logic to hb_pp_RdStr() to fix problem with Macro Terminator (.) without a macro suffix.
2000-06-02 09:09:18 +00:00
Ron Pinkas
6f3355a896 2000-06-01 21:15 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/pp/ppcore.c
     + Added case '@' to hb_pp_RdStr() to fix problem with @ not followed by a space.
2000-06-02 04:24:39 +00:00
Viktor Szakats
be81ee127d 2000-05-27 23:12 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-05-28 19:52:03 +00:00
Ron Pinkas
04837b2eaa 2000-05-22 10:40 UTC-800 Ron Pinkas <Ron@Profit-Master.com>
* include/hbvmpub.h
     * Modified HB_FS_FIRST to  ( ( HB_SYMBOLSCOPE ) 0x04 )

   * source/compiler/harbour.c
     * Minor optimization when storing HB_FS_FIRST

   * source/pp/pptable.c
     - Removed built-in rule, for STRUCTURE support

   * source/vm/runner.c
     ! Fixed bug when there is no startup procedure

   * source/rtl/tclass.prg
     - Removed HB_Structure()

   * include/hbextern.ch
     * Moved EXTERNAL HB_STRUCTURE to separate section

   * tests/teststru.prg
     + added #INCLUDE "..\Include\HBSTRUC.CH"

   + include/hbstruc.ch

   + source/rtl/hbstruc.prg

   * makefile.bc
     + Added rules for hbstruc.prg
2000-05-26 07:39:42 +00:00
Ron Pinkas
9f05928bd2 20000522-10:40 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hbpcode.c
     ! Fixed ambigious else in hb_StrongType()

   * source/pp/pptable.c
     ! Fixed STRUCTURE rule to allow nesting of structures.

   * tests/teststru.prg
     * Enhanced to demonstrate Structure as element of other structure and self reference capabilities.
2000-05-23 01:31:34 +00:00
Ron Pinkas
eb2d8afdb4 20000522-06:15 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
     + Added "as structure", "as stru", "as array of structure", "as array of stru"

   * source/compiler/hbpcode.c
     * Improved some logic in hb_StrongType()

   * source/vm/hvm.c
     ! Corrected startup symbol when having to use Main() as per Ryszard.

   * source/pp/pptable.c
     + Added the equivalent of:
        #COMMANDS STRUCTURE <StruName> <Var1> AS <Type1> [, <VarN> AS <TypeN> ] => ;
                  STATIC __<StruName> := {|| IF( __<StruName> == NIL, , ) , HB_Structure( <"StruName">, { <"Var1"> [, <"VarN">] } )} ;;
                  DECLARE <StruName> <Var1> AS <Type1> [ <VarN> AS <TypeN> ] ;;
                  #TRANSLATE AS NEW <ClassName> => AS CLASS <StruName> := ( Eval( __<StruName> ), HB_Structure( <StruName> ) )

	#TRANSLATE AS NEW <ClassName> => AS CLASS <ClassName> := <ClassName>():New()

   * source/rtl/tclass.prg
     + Added Function HB_Structure() ( Fully Declared! ) This function is used internally, but may be freely called from Clipper level.
       It Aceepts Parameter 1 Structure Name, and optional parameter 2, as array of structure variable names.
       If called with 2nd parameter, returns NIL (just creates the new Structure), if called with just parameter 1, it returns
       new instance of defined structure.

   + tests\teststru.prg
     + Added demo for new structure syntax
2000-05-22 13:53:14 +00:00
Ryszard Glab
9f23de3925 ChangeLog 20000425-12:40 GMT+1 2000-04-25 10:37:40 +00:00
Viktor Szakats
cb94df2cb3 20000423-14:35 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-23 12:29:33 +00:00
David G. Holm
76629ea7ab See ChangeLog entry 2000-04-17 14:40 GMT-4 David G. Holm <dholm@jsd-llc.com> 2000-04-17 18:46:05 +00:00
Viktor Szakats
8440262da1 20000415-12:38 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-15 10:36:42 +00:00