Revision: 14026
          
http://harbour-project.svn.sourceforge.net/harbour-project/?rev=14026&view=rev
Author:   druzus
Date:     2010-02-28 23:52:05 +0000 (Sun, 28 Feb 2010)

Log Message:
-----------
2010-03-01 00:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
  * harbour/include/hbpcode.h
  * harbour/include/hbxvm.h
  * harbour/src/compiler/hbfix.c
  * harbour/src/compiler/hbpcode.c
  * harbour/src/compiler/hbdead.c
  * harbour/src/compiler/genc.c
  * harbour/src/compiler/hbopt.c
  * harbour/src/compiler/gencc.c
  * harbour/src/compiler/hblbl.c
  * harbour/src/compiler/hbstripl.c
  * harbour/src/vm/hvm.c
    + added new PCODE HB_P_PUSHAPARAMS and -gc3 function with corresponding
      action hb_xvmPushAParams

  * harbour/include/hbexprb.c
  * harbour/src/common/expropt1.c
  * harbour/src/vm/hvm.c
    + added support for special PRG function:
         HB_ARRAYTOPARAMS( <aValue> ) -> <aValue>[ 1 ] [, <aValue>[ N ] ]
      It can be used in the same context as multivalue macros
      or ... operator and converts array to list of parameters, i.e.:
         proc main
            local aValue, aIndexes

            aValue := { 1, { 2, 3, "abcde" } }
            aIndexes := { 2, 3 }
            ? "array:",    hb_valToExp( aValue )
            ? "indexes:",  hb_arrayToParams( aIndexes )

            ? "array[", hb_arrayToParams( aIndexes ), "] =>", ;
               aValue[ hb_arrayToParams( aIndexes ) ]
            aValue[ hb_arrayToParams( aIndexes ) ] += ":add"
            ? "array:",    hb_valToExp( aValue )

            aValue := { "test", aValue }
            aIndexes := { 2, hb_arrayToParams( aIndexes ) }
            ? "array:",    hb_valToExp( aValue )
            ? "indexes:",  hb_arrayToParams( aIndexes )
            ? "array[", hb_arrayToParams( aIndexes ), "] =>", ;
               aValue[ hb_arrayToParams( aIndexes ) ]
         return

Modified Paths:
--------------
    trunk/harbour/ChangeLog
    trunk/harbour/include/hbexprb.c
    trunk/harbour/include/hbpcode.h
    trunk/harbour/include/hbxvm.h
    trunk/harbour/src/common/expropt1.c
    trunk/harbour/src/compiler/genc.c
    trunk/harbour/src/compiler/gencc.c
    trunk/harbour/src/compiler/hbdead.c
    trunk/harbour/src/compiler/hbfix.c
    trunk/harbour/src/compiler/hblbl.c
    trunk/harbour/src/compiler/hbopt.c
    trunk/harbour/src/compiler/hbpcode.c
    trunk/harbour/src/compiler/hbstripl.c
    trunk/harbour/src/vm/hvm.c


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

Reply via email to