Revision: 11612
          
http://harbour-project.svn.sourceforge.net/harbour-project/?rev=11612&view=rev
Author:   druzus
Date:     2009-07-03 00:24:36 +0000 (Fri, 03 Jul 2009)

Log Message:
-----------
2009-07-03 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    % reduced INASSING definition - thanks to Xavi for information

  * harbour/source/compiler/hbopt.c
    ! fixed stupid bug in logical expression optimization - thanks to Randy
      for self contain example

  * harbour/include/hbapi.h
  * harbour/include/hbmacro.h
  * harbour/include/hbexprb.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/hvm.c
  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
    + added direct support for pushing references to macro expressions.
      It resolves the problem with Clipper compatibility (thanks to Alex
      for information and example) in code like:
         m->var := {0}
         &("var[1]") += 10
      and also many other things, f.e. now Harbour can cleanly compile
      and execute this code:
            proc main
               local s
               m->o := errorNew()
               s:="o:tries"
               ? m->o:tries
               ? &s
               ? &(s+"+=2")
               ? m->o:tries
               ? &(s+":=3")
               ? m->o:tries
               ?
               &s := 4
               ? m->o:tries
               &s -= 2
               ? m->o:tries
               &s++
               ? m->o:tries
               ?
               s := "o"
               m->o := 1
               ? &s
               &s := &s + 4
               ? &s
               ? &s += 5
               ? --&s
               ?
               s := "o[2]"
               m->o := { 1, 2 }
               ? &s
               &s := &s + 4
               ? &s
               ? &s += 5
               ? --&s
            return

  * harbour/utils/hbtest/Makefile
    * force hbtest compilation with line numbers - information about line
      numbers is important part of this test.

Modified Paths:
--------------
    trunk/harbour/ChangeLog
    trunk/harbour/include/hbapi.h
    trunk/harbour/include/hbexprb.c
    trunk/harbour/include/hbmacro.h
    trunk/harbour/source/compiler/harbour.y
    trunk/harbour/source/compiler/harbour.yyc
    trunk/harbour/source/compiler/hbopt.c
    trunk/harbour/source/macro/macro.y
    trunk/harbour/source/macro/macro.yyc
    trunk/harbour/source/vm/hvm.c
    trunk/harbour/source/vm/macro.c
    trunk/harbour/utils/hbtest/Makefile


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to