Commit Graph

168 Commits

Author SHA1 Message Date
Ryszard Glab
0308443e77 ChangeLog 2001-08-07 13:45 UTC+0100 2001-08-07 12:51:34 +00:00
Ryszard Glab
f2f764c5a8 ChangeLog 2001-08-05 14:20 UTC+0100 2001-08-05 13:06:55 +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
Ryszard Glab
bfad60e180 ChangeLog 2001-05-03 19:35 UTC+0100 2001-05-03 17:21:12 +00:00
David G. Holm
0e07837322 See ChangeLog entry 2001-04-12 15:00 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-04-12 18:56:30 +00:00
David G. Holm
be6c7f5cfb See ChangeLog entry 2001-02-05 16:15 UTC-0500 David G. Holm <dholm@jsd-llc.com> 2001-02-05 21:20:06 +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
Jean-Francois Lefebvre
b7abfe9244 2001-01-08 22:18 GMT+0100 JFL (mafact) <jfl@mafact.com> 2001-01-08 21:24:17 +00:00
Ron Pinkas
db79a72304 2000-01-02 10:00 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
     + Added support for inline C code.
2001-01-02 18:10:43 +00:00
Ryszard Glab
92e1ff661f ChangeLog 2000-11-04 13:35 UTC+0100 2000-11-04 12:39:40 +00:00
Ron Pinkas
3a7b8b8893 2000-11-02 20:35 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.sly
     + Added rule to accept Get and GetA as FunCall

   * source/compiler/harbour.y
     + Added support for pseudo function _GET_()
   * source/compiler/harbour.l
     + Added _GET_(...) => __GET(...)/__GETA(...) logic from harbour.sly

   * source/macro/macro.slx
     * Corrected YY_DECL #define (Thanks John)

   * source/rtl/tget.prg
   * include/hbextern.ch
     - Removed no longer needed _GET_()
2000-11-03 23:42:27 +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
Ryszard Glab
19679cd238 ChangeLog 2000-10-15 14;25 UTC+0100 2000-10-15 12:15:48 +00:00
Ron Pinkas
807f1e918a 2000-09-23 10:10 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
     * Removed TODO 4 Char abbreviation (done few weeks back).
2000-09-23 17:08:41 +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
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
Viktor Szakats
a38b766d6d 2000-08-17 12:18 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-08-17 10:20:09 +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
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
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
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
Ryszard Glab
47e68c5b5b ChangeLog 2000-08-02 21:10 UTC+0100 2000-08-02 19:04:42 +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
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
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
Ryszard Glab
ffe49c60fd ChangeLog 2000-07-15 20:00 UTC+0100 2000-07-15 17:50:44 +00:00
Ryszard Glab
7f4edde7c8 ChangeLog 2000-07-12 10:25 UTC+0100 2000-07-12 08:19:34 +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
Ron Pinkas
fc355a3bac 2000-07-11 09:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
* hb_slex.bc
     * Updated to match makefile.bc

   * source/compiler/harbour.l
   * source/compiler/harbour.c
     - Removed refrences to hb_compReleaseStrings()

   * source/compiler/harbour.slx
     * Changed identifier reuse logic to use hb_compIdentifierNew()
2000-07-11 16:48:10 +00:00
Ryszard Glab
1ceccebaf4 ChangeLog 2000-07-11 12:00 UTC+0100 2000-07-11 11:02:16 +00:00
Ron Pinkas
1d9fdf35aa 2000-07-09 01:02 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hbcomp.h
     + Added: external BOOL hb_comp_bSimpLex

   * source/compiler/harbour.c
     + Added: BOOL hb_comp_bSimpLex
     + Added: if( hb_comp_bSimpLex ) tests before releasing name strings of vars, and symbols.
     + Added: call to hb_compReleaseStrings(), if hb_comp_SimpLes is TRUE, after code generation.

   * source/compiler/harbour.slx
     + Added: logic to resuse same allocated strings when string for identifier was perviously allocated.
     + Added: INIT_ACTION macro to set hb_comp_bSimpLex to TRUE.
     + Added: Function hb_compReleaseStrings()

   * source/compiler/harbour.l
     + Added: empty Function hb_compReleaseStrings() to avoid link error.

   * source/compiler/hbslex.c
   * source/compiler/simplex.c
     * Moved standard #includes from simplex to hbslex.
2000-07-09 08:34:21 +00:00
Ron Pinkas
5f871ca7b3 2000-06-26 06:22 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.l
     ! Fixed 3 typos that made strings to be compiled with the closing string delimiter, causing Run-Time error 9004.
2000-06-26 13:27:54 +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
2a7952bc28 2000-06-25 03:35 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hbgenerr.c
     ! Refined line numbers reported.

   * source/compiler/harbour.l
     ! Rewrote (again) rules for STRING1 STRING2 STRING3 INDEX. Rules for strings much simpler.
       /* Flex had some problem with $ that caused output of strings. */
2000-06-25 23:09:08 +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
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
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
4b20bace29 2000-06-11 21:30 UTC-0800 Ron Pinkas <Ron@Profit-Master.com>
* include/hbcomp.h
     * Enclosed declarations of functions to support in-line nested compilation within #ifdef HB_NESTED_COMPILE

   source/compiler/harbour.y
     * Enclosed functions to support in-line nested compilation within #ifdef HB_NESTED_COMPILE
     * Changed rules for DO ... to add name of module to hb_comp_pAutoOpen linked list.
     + Added hb_compAutoOpen() - Parses the needed externals when -m not specified
     - Defed out hb_compYACCMAIN() (#if 0) - no longer needed, moved logic into hb_compCompile() and hb_compAutoOpen()

   source/compiler/harbour.l
     + Added #define YY_USER_ACTION ... to fix Flex problem with ^ (BOL RegExp)
     * Enclosed functions to support in-line nested compilation within #ifdef HB_NESTED_COMPILE

   source/compiler/harbour.c
     * Enclosed functions to support in-line nested compilation within #ifdef HB_NESTED_COMPILE
     * Modified hb_compCompile() to support future in-line nested compilation, and defed it out.
     * Changed hb_compCompile() to call hb_compAutoOpen() for modules called in DO ... that are not defined in main prg.
     ! Completed -m support, by default directives in external opened modules will be avialable to subsequent externals.
       this feature is defed out if strict compatibilty ise selected.
2000-06-12 04:50:50 +00:00