Commit Graph

592 Commits

Author SHA1 Message Date
Ron Pinkas
4e7bfbb146 Corrected Reset at <EOF> 2000-08-23 04:05:38 +00:00
Ron Pinkas
ce87f32df5 2000-08-22 10:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
   * source/compiler/harbour.slx
   * source/macro/macro.slx
     ! Removed un-needed calls to strlen().
2000-08-22 17:39:34 +00:00
Ron Pinkas
93f92c364e 2000-08-21 15:45 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
     ! Optimized Keywords and Words search, Lexer is 10-15% faster.

   * source/compiler/harbour.slx
   * source/macro/macro.slx
     ! Sorted Keywords and Words, to support optimized search, by simplex.
2000-08-21 22:47:22 +00:00
Viktor Szakats
a38b766d6d 2000-08-17 12:18 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-08-17 10:20:09 +00:00
Ron Pinkas
58f7a9f75c 2000-08-15 23:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
    ! Corrected support for stringified strings to include nested string delimiters in the LITERAL.

    /* Please note, both lexers are subject to extreme rare incomatibility, with direct code as follow:

       ? [" 1st. char is a Quote, last charcter is not.] ; MoreCode := [other SB delimited str ending with quote."]

       I can't see that being a real problem on one hand, and I don't know that we can flag a specific LITERAL
       within any given line as a PP stringified, as opposed to direct code, unless PP generates a specific [inline]
       marker for lexer. Since Clipper PPO of stringified string does NOT compile, I tend to think that's what Clipper
       does. Finally, since Clipper can't compile such PPO of valid code, I would suggest that if we ever decide to
       correct this, we include the "marker" in PPO output too, making it valid.
    */
2000-08-16 06:44:09 +00:00
Ron Pinkas
926872a96b 2000-08-15 18:25 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
    + Added support for multi-charcters Stream Start and Stream End delimiters.
    + Added overidable MACROs STREAM_OPEN(x), STREAM_APPEND(x)
    ! Removed Hardcoded limits, changed to overidable #defines: MAX_STREAM, MAX_STREAM_STARTER, MAX_STREAM_TERMINATOR,
      MAX_STREAM_EXCLUSIONS

  * source/macro/macroslx.c
    + Added:
	#define MAX_STREAM                               2048 /* Max length of in-line LITERAL */
	#define MAX_STREAM_STARTER                          2
	#define MAX_STREAM_TERMINATOR                       2
	#define MAX_STREAM_EXCLUSIONS                       2

  * source/compiler/hbslex.c
    + Added:
      	#define MAX_STREAM                               2048 /* Max length of in-line LITERAL */
      	#define MAX_STREAM_STARTER                          7 /* "QOUT([" */
      	#define MAX_STREAM_TERMINATOR                       4 /* "])\n"   */
      	#define MAX_STREAM_EXCLUSIONS                       2

  * source/macro/macro.slx
    * Replaced AND_IGNORE_DELIMITERS() with TEST_LEFT()

  * source/compiler/harbour.slx
    + Added: #define NUMERALS_PER_LINE 512
    * Replaced AND_IGNORE_DELIMITERS() with TEST_LEFT()
    + Added support for TEXT ENDTEXT (pending some more work in PP), nested [[]] strings and double delimiters stringified strings.
2000-08-16 03:09:07 +00:00
Ryszard Glab
28ee6341b3 ChangeLog 2000-08-15 20:40 2000-08-15 18:46:56 +00:00
Ryszard Glab
a8de6652d6 ChangeLog 2000-08-12 15:20 UTC+0100 2000-08-12 13:12:55 +00:00
Ryszard Glab
f5a45f932b ChangeLog 2000-08-11 08-55 UTC+0100 2000-08-11 06:56:36 +00:00
Ryszard Glab
7b71ae0103 ChangeLog 2000-08-10 17:33 UTC+0100 2000-08-10 15:29:07 +00:00
Ryszard Glab
12cb3fb990 ChangeLog 2000-09-10 11:50 UTC+0100 2000-08-10 09:49:35 +00:00
Ron Pinkas
bd7d70af1d 2000-08-09 20:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
     * Corrected support for BREAK ( ).
2000-08-10 02:59:07 +00:00
Ron Pinkas
d93298fc67 2000-08-09 17:15 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
     * Minor improvements.

   * source/compiler/harbour.slx
     - Removed un-needed cases in hb_lex_CustomAction() added by Ryszard.
     - Removed 1 rule each for WHILE CASE BREAK and RETURN to default trailing '[' to string delimiter.

   * tests/keywords.prg
     * Corrected few lines that had '[' as Array Index to String Delimiter after CASE, BREAK etc.

     /* Note keywords.prg should now be valid other than 3 (old) correct errors to do with FIELD*/
     SimpLex based harbour does compile it correctly Flex reports 26 incorrect errors.
2000-08-10 00:36:21 +00:00
Ryszard Glab
283b555df8 ChangeLog 2000-08-09 14:15 UTC+0100 2000-08-09 12:17:01 +00:00
Ryszard Glab
1969cff6cd ChangeLog 2000-08-09 09:25 UTC+0100 2000-08-09 07:20:48 +00:00
Ryszard Glab
cc4d80de27 ChangeLog 2000-08-08 18:05 UTC+0100 2000-08-08 16:46:16 +00:00
Ron Pinkas
c06672fe89 2000-08-08 02:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
    * Corrected display of errors statistics to use \r so that error count doen't appear connected to the last reported
      compiler line number progress.

  * source/macro/macro.slx
    - Removed unused asHold

  * source/compiler/harbour.slx
    - Removed unused asHold
    - Optimized some rules.

  * source/compiler/simplex.c
    - Removed unused asHold

  * tests/keywords.prg
    * Uncommented all code that was commented other than few lines which I added TODO: PP ... for (problem resulting from PP)
2000-08-08 09:11:01 +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
Ron Pinkas
c3b455e04f 2000-08-07 09:05 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
     + Added rule to allow DECLARE Var AS ... (like PRIVATE Var AS ...)

   * source/compiler/harbour.slx
     + Added rule to allow DECLARE Var AS ... (like PRIVATE Var AS ...)
     ! Corrected typo with DECLARE IDENTIFIER := rule.
     ! Corrcted compiler warnings reported by Maurilio

   * tests/testdecl.prg
     + Added DECLARE Var9 AS STRING to test this syntax too.
2000-08-07 16:09:45 +00:00
Ron Pinkas
62eb7c794f 2000-08-06 18:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     ! Few more memory optimizations.
2000-08-07 01:56:09 +00:00
Ron Pinkas
a9f0be4e28 2000-08-06 01:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     ! Optimized rules, removed ~100 rules. Rules are simpler, smaller, and faster.

   * source/compiler/simplex.c
     + Added: bIgnoreWords (allows for reserve words check to be suspened).
     + Added: iLastToken to save last read Token
     + Added immediate call to CUSTOM_ACTION for Keys, Words, and Selfs, without having to reduce first (when requested).
     * Optimized Keys search to not check bNewLine on every iteration.
2000-08-06 08:47:06 +00:00
Ron Pinkas
78339ed12d 2000-08-04 13:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     * Optimized rules for WITH
2000-08-05 01:58:04 +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
209fbcb4ac 2000-08-03 18:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
    * Added call to hb_pp_init() between multiple prg compilations.
2000-08-04 01:49:00 +00:00
Maurilio Longo
ceb3b502aa 20000803-13:13 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-08-03 11:16:47 +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
1a7632b428 2000-08-02 14:10 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
     * Changed USUAL to ANYTYPE
2000-08-02 21:10:13 +00:00
Ron Pinkas
52ad519676 2000-08-02 14:05 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     * Changed VARIANT to ANYTYPE as it appear to be the prefered choice.

   * source/compiler/hbpcode.c
     * Changed \[ to [ to correct compiler warnings.
     * Changed Usual. to AnyType.
2000-08-02 21:07:29 +00:00
Ryszard Glab
47e68c5b5b ChangeLog 2000-08-02 21:10 UTC+0100 2000-08-02 19:04:42 +00:00
Maurilio Longo
9d50b20089 20000802-12:58 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-08-02 11:04:22 +00:00
Maurilio Longo
6d53f541ed 20000801-21:55 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-08-01 20:03:07 +00:00
Ron Pinkas
6ddbb5b481 2000-08-01 12:10 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/cmdcheck.c
     + Added support for "new style" switches specs, for command line arguments.

     /* Note: */ I did *not* implement same for the Environment Variables parsing.
2000-08-01 19:19:40 +00:00
Ryszard Glab
39596ad2dd ChangeLog 2000-08-01 18:20 UTC+0100 2000-08-01 16:17:13 +00:00
Ron Pinkas
dfeb227c89 2000-07-31 20:25 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/cmdcheck.c
     + Added support for multiple switches, without seperator, like: -n-w
2000-08-01 03:24:43 +00:00
Ron Pinkas
30eb28b233 2000-07-31 18:20 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     - Removed few redundant rules.
     + Added logic to check for orphan LOOP, EXIT, or NEXT, and produce standard errors.
     + Added check to check for &', &", or &[, and produce standard error.

   * source/macro/macro.slx
     + Added logic to check for &', &", or &[, and produce standard error.
     * Minor formating.
2000-08-01 01:23:20 +00:00
Andi Jahja
54bb356dc8 Bug Fixes On Line Commands 2000-07-31 23:48:23 +00:00
Ron Pinkas
e09d364512 2000-07-31 09:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
   * source/macro/macro.slx
     ! Corrected compiler warnings

   * tests/testwarn.prg
   * utils/hbdoc/ft_funcs.prg
     * Commented AS USUAL until votes results tabulated
2000-07-31 15:58:41 +00:00
Ron Pinkas
ae598156ee 2000-07-30 22:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/macro/macro.slx
    ! Corrected unreleased memory block.

  * source/compiler/harbour.slx
    ! Corrected unreleased memory block.
2000-07-31 05:50:35 +00:00
Ron Pinkas
1207146d98 2000-07-30 21:15 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/macro/macro.slx
    ! Corrected 1 unreleased memory block.

  * source/compiler/harbour.slx
    - Removed unneeded comment.

  * source/compiler/simplex.c
    * Changed void yy_bytes_buffer() to void *.
2000-07-31 04:17:09 +00:00
Ron Pinkas
3d37397709 2000-07-30 17:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
+ source/macro/macro.slx
  + source/macro/macroslx.c
    + Added SimpLex based macro lexer

  * hb_slex.bc
    * Modified to use SimpLex based macro support.
    /* Could some one please add same to GNU make system? */

  * source/compiler/simplex.c
    * Added void yy_bytes_buffer()
2000-07-31 00:33:45 +00:00
Ron Pinkas
735d0f072a 2000-07-30 12:45 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
    - Removed AS CHARACTER, AS BOOLEAN, AS OBJ, AS NUM
      /* Left AS VARIANT and AS USUAL until vote results tabulated. */

  * utils/hbdoc/ft_funcs.prg
    * Changed AS CHAR -> AS STRING and AS NUM to AS NUMERIC

  * source/compiler/simplex.c
    * Changed to use YY_DECL macro in declaration of yylex()
2000-07-30 19:53:23 +00:00
Viktor Szakats
d8ee9cee66 2000-07-30 14:32 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-07-30 12:50:35 +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
Ryszard Glab
7b75b62b6e ChangeLog 2000-07-29 09:45 UTC+0100 2000-07-29 07:36:06 +00:00
Viktor Szakats
f1c10aae9d 2000-07-29 03:28 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-07-29 01:39:59 +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
Ryszard Glab
433ae6a7f3 ChangeLog 2000-07-28 18:15 UTC+0100 2000-07-28 16:10:49 +00:00
Ron Pinkas
a0b295de08 2000-07-28 06:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
+ doc/simplex.txt
     + Added 1st draft of SimpLex documentation.

   * source/compiler/simplex.c
     + Added overidable macro STREAM_EXCEPTION()

   * source/compiler/harbour.l
     * Modified to return every \n to correct line numbers reporting.
       /* Note: removed note about . after \n, I beleive it was needed to avoid conflict with $ which is no longer used,
          and should be avoided, due to few other side effects. */

   source/compiler/harbour.slx
     * Standadized un-terminated strings messages.
2000-07-28 13:37:51 +00:00