Commit Graph

72 Commits

Author SHA1 Message Date
Ron Pinkas
352d1ea388 2002-05-23 12:46 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
* source/compiler/harbour.slx
    ! Fixed SELF[...] // Self as Array in IF_BELONG_LEFT() ( borrowed from from xHarbour )

  * source/compiler/harbour.sly
    ! Corrected typo in GetVar - included item belonging to GetVarArray ( borrowed from from xHarbour )
    ! Fixed logic of GetA ( borrowed from from xHarbour )
2002-05-23 19:48:48 +00:00
Ron Pinkas
6d9c3f496a Minor correction to recent post. 2002-03-14 00:12:43 +00:00
Ron Pinkas
564a6d0295 2002-03-13 14:07 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
* source/compiler/harbour.slx
    + Enabled support for TEXT ... ENDTEXT utilizing new hb_ppInsideTextBlock

  * source/compiler/harbour.sly
    ! Correted minor bug in GetA
2002-03-13 22:11:22 +00:00
Ron Pinkas
025c50818c 2002-01-19 06:11 UTC+0100 Ron Pinkas <ron@ronpinkas.com>
* source/compiler/harbour.slx
    ! Minor bug correction.
2002-01-20 15:02:55 +00:00
Brian Hays
d2f6da18fe 2001-09-05 11:30 UTC-0800 Brian Hays <bhays@abacuslaw.com> 2001-09-05 18:19:21 +00:00
Ron Pinkas
4b444c4812 2001-08-04 13:50 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
   * source/compiler/harbour.slx
     * Added inline c support for hb_comp_iLanguage == LANG_OBJ_MODULE

   * source/compiler/harbour.sly
     * Added support for HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) in Statement : ( MacroVar and MacroExpr ) to sync with harbour.y
2001-08-04 20:50:06 +00:00
Ron Pinkas
c099169a37 2001-07-19 02:00 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     * Changed storing of MACROTEXT from hb_compIdentifierNew() to hb_strdup().

   * tests/tstasort.prg
     ! Fixed R/T Error resulting from comparing unrelated types in sorting codeblock.
2001-07-19 08:58:53 +00:00
Ron Pinkas
187797ce58 2001-06-20 22:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* hb_slex.vc
   * makefile.vc
     * Synched make files.

   * contrib/libmisc/makefile.vc
     ! Corrected BIN_DIR to ../../bin/vc

   * source/compiler/simplex.c
     * Revised 1 debug message.
   * source/compiler/harbour.slx
     * Improved yytext handling.

   * source/compiler/harbour.sly
   * source/compiler/harbour.y
     + Added <yyerrok> after <yyclearin> to enable reporting of errors on consecutive lines. (only first line was reported!)
2001-06-21 05:13:07 +00:00
Ron Pinkas
59346e6bf8 2001-05-23 21:15 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     ! Corrected few minor typos.

   * source/compiler/harbour.slx
   * source/macro/macro.slx
     - Commented few unused lines.

   * contrib/dot/pp.prg
     % Rewrote NextToken() and NextExp().
     + Added NextIdentifier()
     ! Found that Clipper PP is not processing tokens read by NextToken() and NextExp() so removed recursive support,
       and changed logic in ProcessLine() to linear process:
         #defines against all valid Identifiers - Expansion forces a resacn from top.
         #[x]translates against all tokens - Expansion forces a resacn from top of #defines.
         #[x]command agains the first token - Expansion forces a resacn from top of #defines.
     ! Corrected and refined many aspects of Interpreter mode.
     + Added ExecuteMethod() and support for OO syntax.
     + Added support for -I<includepaths...> command line switch.

   * contrib/dot/rp_run.ch
     + Added support for OO syntax.

   * contrib/dot/pp.txt
     * Updated documentation.
2001-05-24 04:52:09 +00:00
David G. Holm
5cc3068f99 See ChangeLog entry 2001-04-12 14:20 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-04-12 18:24:41 +00:00
Ron Pinkas
0fef17cf67 2001-03-24 02:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
     * Minor fix for VC++
     - Removed 2 unused defines
     + Added #define MAX_RULES 1024

   * source/compiler/harbour.slx
     * Changed // to /* */

   * tests/keywords.prg
     * Corrected 3 warnings.
2001-03-24 10:28:28 +00:00
Ron Pinkas
c7ff5eeec1 2001-01-21 15:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     * Minor correction.
2001-01-21 23:42:21 +00:00
Ron Pinkas
d51b90e182 2001-01-20 17:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
* hb_slex.vc
     + Added -DSIMPLEX to CLIBFLAGS

   * source/compiler/genc.c
     * Minor correction.

   * utils/hbpp/hbpp.c
   * source/pp/pplib.c
   * include/hbcomp.h
   * source/compiler/harbour.c
     + Added hb_comp_iLinePRG and hb_comp_iLineINLINE

   * source/compiler/harbour.l
   * source/compiler/harbour.slx
   * source/compiler/hbgenerr.c
     + Added logic to disallow multiple HB_INLINE() per source line.

   * source/pp/ppcomp.c
   * source/pp/ppcore.c
   * source/pp/pragma.c
     * Corrected double spacing in PPO generation, and added #pragma BEGINDUMP to PPO.
2001-01-21 01:47:49 +00:00
Jean-Francois Lefebvre
4a22bc5736 2001-01-16 22:15 GMT+1 JFL (Mafact) <jfl@mafact.com> 2001-01-16 21:15:28 +00:00
Ron Pinkas
5a7c00ebfb 2001-01-11 20:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
   * source/compiler/harbour.slx
     + Added logic to ignore, rest of line after //
                              content of /**/ comments
                              content of strings and char constants
                              escape codes within strings and char constants
   * tests/inline_c.prg
     + Added sample comments and strings containing { and \".
2001-01-12 04:15:26 +00:00
Ron Pinkas
7c6bd0b33b 2001-01-10 18:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbcomp.h
   * source/compiler/harbour.c
     + Added members szFileName and iLine to structure INLINE, set to originating PRG name and line number.

   * source/compiler/genc.c
     + Added #line directive to INLINE generations, so C compile warnings/errors will report source file and line number in PRG.

   * source/compiler/harbour.l
   * source/compiler/harbour.slx
     + Added Error message if inline C is used with non C output.
     + Added support for {} on same line
     * Minor optimization

   * include/hberrors.h
   * source/compiler/hbgenerr.c
     + Added: "Inline C requires C output generartion, use -gc[n]"
2001-01-11 02:31:36 +00:00
Ron Pinkas
8d2b4bd7f0 2000-01-01 22:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
   * source/compiler/hbgenerr.c
     + Added: "Unterminated inline block in function: \'%s\'" and "Too many inline blocks"

   * include/hbcomp.h
   * source/compiler/harbour.c
     + Added hb_compInlineNew(), hb_compInlineAdd(), and hb_compInlineFind()

   * source/pp/ppcomp.c
   * source/compiler/harbour.slx
   * source/compiler/genc.c
     + Added support for inline C code blocks.

   + tests/inline_c.prg
     + Added new test to demonstrate new inline C support.
2001-01-02 06:53:30 +00:00
Ron Pinkas
5fa7ef36f3 2000-11-30 10:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     ! Commented out support for Self: as SELF, treat as any other Identifier, until we finalize SELF support.
2000-11-30 18:00:27 +00:00
Ron Pinkas
8a712df3c5 2000-11-26 21:00 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
   * source/pp/ppcomp.c
   * source/pp/ppcore.c
     + Added error support for Input buffer overflow .
2000-11-27 05:13:00 +00:00
Ron Pinkas
96cd0348b4 2000-11-26 18:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     + Added Error message if NUMERALS_PER_LINE is exhausted, and set it to 3000 (just below apparent parser limitation)
2000-11-27 02:50:42 +00:00
Ron Pinkas
75294d2ded 2000-11-21 08:55 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/pp/ppcomp.c
   * source/compiler/harbour.c
     * Corrected compiler warnings.

   * source/compiler/harbour.slx
     * Small optimization in handling of s_sLastBlock

   * tests/tstblock.prg
     + Added complex early macro test.
2000-11-21 16:56:14 +00:00
Ron Pinkas
bcca8b7b78 2000-11-07 22:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
     + Added: #define HB_COMP_ERR_BLOCK                       47
   * source/compiler/hbgenerr.c
     + Added Error: "Code block contains both macro and declared symbol references"

   * source/compiler/harbour.c
     * Made public: hb_compLocalGetPos() and hb_compStaticGetPos()

   * source/compiler/harbour.slx
     + Added: char * hb_comp_SLX_LastBlock( BOOL bReset )

   * source/compiler/harbour.sly
     + Added logic to support Early Expansions of Macro within CodeBlock unless parenthesized.

   + tests/tstblock.prg
     + New test of Early/Late expansion of Macros within CodeBlocks.
2000-11-08 07:25:07 +00:00
Ron Pinkas
97f36b7075 2000-11-01 04:25 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
     + Added support for pseudo function _GET_(...)
   * source/compiler/harbour.sly
     + Added support for pseudo function _GET_(...) to be converted into appropriate __GET(...) or __GETA(...)
   * source/rtl/tget.prg
     + Added __GETA() to correctly support early binding of Array Element Index of GET
   * tests/testread.prg
     + Added code to test correct (early) binding of Array Element Index of GET
2000-11-01 12:23:24 +00:00
Ron Pinkas
b324acddea 2000-10-27 08:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/genc.c
    * source/compiler/genhrb.c
    * source/compiler/genjava.c
    * source/compiler/genobj32.c
    * source/compiler/harbour.c
    * source/compiler/harbour.l
    * source/compiler/harbour.slx
    * source/compiler/harbour.sly
    * source/compiler/harbour.y
      - Removed License Exception from core compiler files that are not part of HVM or HRL

    /* Dave, could you please verify this is correct. */
2000-10-27 15:54:28 +00:00
Ron Pinkas
5fc2d50895 2000-10-22 09:05 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
     ! Corrrected bug reported by Luiz regarding menuto.prg

   * source/compiler/harbour.slx
     ! Corrected 1 debug trace message.

   * contrib/dot/pp.prg
     ! Corrected "Unbalanced '{'" warning reported by John.
     ! Corrected 2 typos in variable names reported by John.
2000-10-22 16:10:16 +00:00
Ron Pinkas
df03398e17 Minor esthetics changes. 2000-09-19 15:40:07 +00:00
Ron Pinkas
eca55336b8 Corrected djgpp warning. 2000-09-19 05:36:54 +00:00
Ron Pinkas
a5e4deaa88 2000-09-18 09:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.slx
   * source/compiler/harbour.sly
   * source/compiler/harbour.y
   * source/compiler/simplex.c
   * source/macro/macro.slx
     ! Corrected compiler warnings.
2000-09-18 16:36:54 +00:00
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
4a4e7b593b 2000-09-08 03:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* config/dos/djgpp.cf
     + Added support for $(C_USER) and $(L_USER) /* Could someone please verify, that this is the correct way. */

   * source/compiler/simplex.c
     + Added: #define SUSPEND_WORDS 8192, and minor support logic.

   * source/compiler/harbour.slx
     ! Removed 14 #defines, and 14 cases from hb_lex_CustomAction(), by taking advantage of SUSPEND_WORDS.

   * source/macro/macro.slx
     - Removed 1 unused variable.
2000-09-08 11:00:40 +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
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
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
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
Maurilio Longo
ceb3b502aa 20000803-13:13 GMT+2 Maurilio Longo <maurilio.longo@libero.it> 2000-08-03 11:16:47 +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