Commit Graph

149 Commits

Author SHA1 Message Date
Ryszard Glab
a8de6652d6 ChangeLog 2000-08-12 15:20 UTC+0100 2000-08-12 13:12:55 +00:00
Alexander S.Kresin
99ebec5296 2000-08-11 11:25 GMT+3 Alexander Kresin <alex@belacy.belgorod.su> 2000-08-11 07:28:30 +00:00
David G. Holm
bf9e8abfaf See ChangeLog entry 2000-08-09 15:30 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2000-08-09 19:38:24 +00:00
Ron Pinkas
c0d549bb9d 2000-08-03 18:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/macro/macro.slx
   * source/compiler/harbour.slx
     + Added (int) casting to isalpha() parameter calls.

   * source/compiler/hbslex.c
     * Removed extra empty line.

   * include/hberrors.h
     + Added #define HB_PP_ERR_TOO_MANY_INCLUDES 17

   * source/pp/ppcore.c
     + Addded: #define HB_PP_MAX_INCLUDES FOPEN_MAX - 5 - 1 (Victor ?)
     + Added : "Too many nested #includes, can\'t open: \'%s\'"
     + Added logic to protect against too many nested includes.
2000-08-04 19:54:25 +00:00
Ron Pinkas
9af55ea917 2000-08-03 01:55 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
     * Removed #define HB_PP_ERR_INCLUDE_CYCLIC

   * source/pp/ppcore.c
     * Removed Cyclic #include detection logic.

  * source/compiler/simplex.c
    * Removed some unneeded comments.
2000-08-03 09:03:44 +00:00
Ron Pinkas
a04e873b2e 2000-08-02 19:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
     * Changed #define HB_PP_ERR_INCLUDE_SELF to HB_PP_ERR_INCLUDE_CYCLIC

   * source/pp/ppcore.c
     * Changed "Can\'t #include self \'%s\'" to "Cyclic #include not allowed: \'%s\'"
     * Changed self refernce #include detection, to detect any #include of an already opened file.
2000-08-03 02:53:33 +00:00
Ron Pinkas
038f3838d8 2000-08-02 11:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
* hb_slex.bc
   * makefile.bc
     + Added: -Phb_comp -C to Flex (macro.l) as per GNU make.
     + Added: -phb_comp to Bison (macro.y) as per GNU make.

     /* We might need same change in other make files (VC etc.) */
     /* BTW, Do we have SimpLex support in those other make files? */

   * source/macro/macro.l
   * source/macro/macro.y
     - Removed: #define yylex hb_complex

   * source/macro/macroslx.c
     - Removed un-needed comment.

   * source/pp/ppcore.c
     ! Fixed unintended side effect of UPPER-CASING #include file names.
2000-08-02 18:35:20 +00:00
Ron Pinkas
685b646051 2000-08-02 09:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/macro/macro.l
   * source/macro/macro.y
     + Added: #define yylex hb_complex

   * source/pp/ppcore.c
     + Added check for the file path when checking self reference of #include.
     + Added logic to ignore case when checing self reference of #include.
2000-08-02 16:43:49 +00:00
Ron Pinkas
ed8a203200 2000-08-01 20:15 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
     + Added: #define HB_PP_ERR_INCLUDE_SELF                  17

   * source/pp/ppcore.c
     + Added Error: "Can\'t #include self \'%s\'"
     + Added logic to detect self referncing #include directive.
2000-08-02 03:19:43 +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
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