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