diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 73fe506b7c..19d3e6adf1 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,7 @@ +19991009-22:19 GMT+1 Antonio Linares + * source/compiler/harbour.y + * a[ b ]:c expressions fixed. + 19991007-19:40 GMT+1 Victor Szel * tests/mankala.prg -> samples/misc/mankala.prg tests/guess.prg -> samples/misc/guess.prg @@ -19,7 +23,7 @@ They are currently not invoked by the mainstream make process, but can be invoked manually. * tests/testcgi.prg - % Got rid of s_cNewLine, so the HTML class no longer requires this + % Got rid of s_cNewLine, so the HTML class no longer requires this variable. 19991008-20:00 CET Eddie Runia @@ -37,7 +41,7 @@ *source/rdd/dbcmd.c * removed all direct modifications of memory buffers returned by hb_parc() function - + 19991008-06:31 EDT Paul Tucker * source\compiler\genc.c + && !defined(_MSC_VER) on generation of #pragma startup diff --git a/harbour/source/compiler/harbour.y b/harbour/source/compiler/harbour.y index 48943d874a..01df74972a 100644 --- a/harbour/source/compiler/harbour.y +++ b/harbour/source/compiler/harbour.y @@ -730,7 +730,7 @@ MethParams : /* empty */ { $$ = 0; } ; ObjectData : IdSend IDENTIFIER { $$ = $2; _ulMessageFix = functions.pLast->lPCodePos; Message( $2 ); Function( 0 ); } - | VarAt ':' IDENTIFIER { ArrayAt(); $$ = $3; _ulMessageFix = functions.pLast->lPCodePos; Message( $3 ); Function( 0 ); } + | VarAtSend IDENTIFIER { $$ = $2; _ulMessageFix = functions.pLast->lPCodePos; Message( $2 ); Function( 0 ); } | ObjFunCall IDENTIFIER { $$ = $2; _ulMessageFix = functions.pLast->lPCodePos; Message( $2 ); Function( 0 ); } | ObjFunArray ':' IDENTIFIER { $$ = $3; _ulMessageFix = functions.pLast->lPCodePos; Message( $3 ); Function( 0 ); } | ObjectMethod ':' IDENTIFIER { $$ = $3; _ulMessageFix = functions.pLast->lPCodePos; Message( $3 ); Function( 0 ); } @@ -739,7 +739,7 @@ ObjectData : IdSend IDENTIFIER { $$ = $2; _ulMessageFix = fu ; ObjectMethod : IdSend IDENTIFIER { Message( $2 ); } '(' MethParams ')' { Function( $5 ); } - | VarAt ':' MethCall { Function( $3 ); ArrayAt(); } + | VarAtSend MethCall { Function( $2 ); } | ObjFunCall MethCall { Function( $2 ); } | ObjFunArray ':' MethCall { Function( $3 ); } | ObjectData ':' MethCall { Function( $3 ); } @@ -747,6 +747,9 @@ ObjectMethod : IdSend IDENTIFIER { Message( $2 ); } '(' MethParams ')' { Functio | ObjectMethod ':' MethCall { Function( $3 ); } ; +VarAtSend : VarAt ':' { ArrayAt(); } + ; + ObjectArr : ObjectData ArrayIndex ':' { ArrayAt(); } ;