From c42f87ca613bde9f0ffb45ad5fd746ddd7a2339b Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Thu, 1 Jul 2010 00:31:49 +0000 Subject: [PATCH] 2010-07-01 02:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/src/compiler/harbour.y * harbour/src/compiler/harbour.yyh * harbour/src/compiler/harbour.yyc * increase the maximum bison stack size limit from 10000 items to 100000 * harbour/src/rtl/gtsln/kbsln.c + added support for HB_K_RESIZE * harbour/contrib/hbwin/axcore.c * harbour/contrib/hbwin/hbolesrv.c * do not pass message ID (DISPID) as first parameter of codeblock or function taken from hash array indexed by DISPIDs. This modification restores old format, i.e. the one expected by GTWVG code. * harbour/contrib/hbwin/tests/olesrv1.prg ! comment --- harbour/ChangeLog | 20 + harbour/contrib/hbwin/axcore.c | 3 + harbour/contrib/hbwin/hbolesrv.c | 12 +- harbour/contrib/hbwin/tests/olesrv1.prg | 2 +- harbour/src/compiler/harbour.y | 3 + harbour/src/compiler/harbour.yyc | 1177 ++++++++++++----------- harbour/src/compiler/harbour.yyh | 2 +- harbour/src/rtl/gtsln/kbsln.c | 1 + 8 files changed, 623 insertions(+), 597 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f8e4a44458..73f586e258 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,26 @@ The license applies to all entries newer than 2009-04-28. */ +2010-07-01 02:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/src/compiler/harbour.y + * harbour/src/compiler/harbour.yyh + * harbour/src/compiler/harbour.yyc + * increase the maximum bison stack size limit + from 10000 items to 100000 + + * harbour/src/rtl/gtsln/kbsln.c + + added support for HB_K_RESIZE + + * harbour/contrib/hbwin/axcore.c + * harbour/contrib/hbwin/hbolesrv.c + * do not pass message ID (DISPID) as first parameter of codeblock + or function taken from hash array indexed by DISPIDs. + This modification restores old format, i.e. the one expected + by GTWVG code. + + * harbour/contrib/hbwin/tests/olesrv1.prg + ! comment + 2010-07-01 01:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * src/rtl/gtcrs/gtcrs.c + GTCRS will now generate HB_K_RESIZE Harbour INKEY() events diff --git a/harbour/contrib/hbwin/axcore.c b/harbour/contrib/hbwin/axcore.c index 6cccc54e98..418d622b13 100644 --- a/harbour/contrib/hbwin/axcore.c +++ b/harbour/contrib/hbwin/axcore.c @@ -344,7 +344,10 @@ static HRESULT STDMETHODCALLTYPE Invoke( IDispatch* lpThis, DISPID dispid, REFII PHB_ITEM pKey = hb_itemPutNL( hb_stackAllocItem(), ( long ) dispid ); if( pAction && HB_IS_HASH( pAction ) ) + { pAction = hb_hashGetItemPtr( pAction, pKey, 0 ); + pKey = NULL; + } if( pAction && hb_oleDispInvoke( NULL, pAction, pKey, pParams, pVarResult, NULL ) ) diff --git a/harbour/contrib/hbwin/hbolesrv.c b/harbour/contrib/hbwin/hbolesrv.c index 6087fe71c0..0530240bd2 100644 --- a/harbour/contrib/hbwin/hbolesrv.c +++ b/harbour/contrib/hbwin/hbolesrv.c @@ -397,18 +397,16 @@ static HRESULT STDMETHODCALLTYPE Invoke( IDispatch* lpThis, DISPID dispid, REFII } else if( HB_IS_HASH( pAction ) ) { - PHB_ITEM pKey, pItem; + PHB_ITEM pItem; if( ( ( IHbOleServer * ) lpThis )->fGuids ) { - pKey = hb_itemPutNL( hb_stackAllocItem(), ( long ) dispid ); + PHB_ITEM pKey = hb_itemPutNL( hb_stackAllocItem(), ( long ) dispid ); pItem = hb_hashGetItemPtr( pAction, pKey, 0 ); + hb_stackPop(); } else - { - pKey = NULL; pItem = hb_hashGetValueAt( pAction, ( HB_SIZE ) dispid ); - } if( pItem ) { @@ -417,7 +415,7 @@ static HRESULT STDMETHODCALLTYPE Invoke( IDispatch* lpThis, DISPID dispid, REFII if( ( wFlags & DISPATCH_METHOD ) != 0 ) { PHB_SYMB pSym = hb_itemGetSymbol( pItem ); - fResult = hb_oleDispInvoke( pSym, pSym ? pAction : pItem, pKey, + fResult = hb_oleDispInvoke( pSym, pSym ? pAction : pItem, NULL, pParams, pVarResult, s_objItemToVariant ); } } @@ -435,8 +433,6 @@ static HRESULT STDMETHODCALLTYPE Invoke( IDispatch* lpThis, DISPID dispid, REFII fResult = HB_TRUE; } } - if( pKey ) - hb_stackPop(); } else if( HB_IS_OBJECT( pAction ) ) { diff --git a/harbour/contrib/hbwin/tests/olesrv1.prg b/harbour/contrib/hbwin/tests/olesrv1.prg index b2206678d2..2b225b9caf 100644 --- a/harbour/contrib/hbwin/tests/olesrv1.prg +++ b/harbour/contrib/hbwin/tests/olesrv1.prg @@ -100,7 +100,7 @@ PROCEDURE DllMain() * WIN_OleServerInit( cClassID, cServerName, @netio_funcExec(), .T. ) * endif * initialize OLE server which redirects all messages to default netio - * connection establish by netio_connect(). + * connection established by netio_connect(). * * If 3-rd parameter is not given then all HVM functions becomes * OLE methods and HVM memvars (public and private variables) are diff --git a/harbour/src/compiler/harbour.y b/harbour/src/compiler/harbour.y index 6a27222e79..778d5d4780 100644 --- a/harbour/src/compiler/harbour.y +++ b/harbour/src/compiler/harbour.y @@ -68,6 +68,9 @@ #define YYENABLE_NLS 0 #define YYLTYPE_IS_TRIVIAL 0 +/* NOTE: increase the maximum size of bison stack size */ +#define YYMAXDEPTH 100000 + static void hb_compLoopStart( HB_COMP_DECL, HB_BOOL ); static void hb_compLoopEnd( HB_COMP_DECL ); static void hb_compLoopLoop( HB_COMP_DECL ); diff --git a/harbour/src/compiler/harbour.yyc b/harbour/src/compiler/harbour.yyc index c5e5f46dbf..0b4181e15c 100644 --- a/harbour/src/compiler/harbour.yyc +++ b/harbour/src/compiler/harbour.yyc @@ -367,6 +367,9 @@ #define YYENABLE_NLS 0 #define YYLTYPE_IS_TRIVIAL 0 +/* NOTE: increase the maximum size of bison stack size */ +#define YYMAXDEPTH 100000 + static void hb_compLoopStart( HB_COMP_DECL, HB_BOOL ); static void hb_compLoopEnd( HB_COMP_DECL ); static void hb_compLoopLoop( HB_COMP_DECL ); @@ -429,7 +432,7 @@ static void hb_compDebugStart( void ) { } #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 114 "harbour.y" +#line 117 "harbour.y" { char * string; /* to hold a string returned by lex */ int iNumber; /* to hold a temporary integer number */ @@ -469,7 +472,7 @@ typedef union YYSTYPE PHB_VARTYPE asVarType; } /* Line 187 of yacc.c. */ -#line 473 "harboury.c" +#line 476 "harboury.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -479,7 +482,7 @@ typedef union YYSTYPE /* Copy the second part of user declarations. */ -#line 153 "harbour.y" +#line 156 "harbour.y" /* This must be placed after the above union - the union is * typedef-ined to YYSTYPE @@ -489,7 +492,7 @@ extern void yyerror( HB_COMP_DECL, const char * ); /* parsing error manageme /* Line 216 of yacc.c. */ -#line 493 "harboury.c" +#line 496 "harboury.c" #ifdef short # undef short @@ -1018,68 +1021,68 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 280, 280, 281, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 298, 303, 311, 311, - 312, 312, 313, 313, 314, 314, 317, 318, 319, 320, - 323, 324, 325, 326, 329, 330, 333, 334, 337, 338, - 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 359, 360, 368, 369, - 370, 371, 372, 373, 379, 380, 381, 382, 383, 384, - 385, 386, 388, 388, 394, 395, 396, 408, 408, 428, - 430, 428, 434, 436, 434, 440, 441, 442, 443, 444, - 445, 445, 451, 454, 462, 481, 481, 484, 485, 486, - 487, 488, 489, 502, 503, 504, 505, 508, 509, 510, - 511, 514, 515, 518, 519, 522, 523, 526, 527, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 553, 554, - 557, 560, 563, 564, 569, 572, 577, 583, 588, 593, - 594, 597, 602, 605, 616, 619, 624, 627, 630, 631, - 634, 637, 638, 643, 646, 651, 652, 655, 660, 663, - 666, 667, 674, 675, 680, 681, 682, 683, 684, 685, - 686, 687, 688, 689, 690, 691, 692, 693, 696, 697, - 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, - 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, - 728, 729, 730, 731, 732, 733, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 758, 762, 765, 766, 770, 773, - 776, 777, 780, 781, 784, 785, 786, 787, 788, 791, - 792, 797, 798, 799, 805, 806, 809, 812, 817, 820, - 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, - 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, - 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, - 859, 860, 863, 864, 865, 866, 867, 868, 871, 872, - 875, 876, 879, 880, 881, 882, 883, 884, 885, 892, - 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, - 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, - 918, 919, 922, 925, 926, 929, 930, 931, 934, 937, - 940, 943, 946, 949, 952, 955, 958, 959, 960, 961, - 962, 963, 966, 967, 968, 969, 970, 971, 974, 975, - 978, 979, 980, 981, 982, 983, 984, 985, 986, 989, - 995, 996, 997, 1000, 1001, 1004, 1004, 1010, 1011, 1012, - 1013, 1016, 1017, 1020, 1021, 1025, 1028, 1024, 1031, 1030, - 1066, 1067, 1069, 1072, 1081, 1085, 1088, 1088, 1090, 1090, - 1092, 1092, 1094, 1094, 1104, 1105, 1108, 1109, 1117, 1118, - 1120, 1124, 1131, 1149, 1149, 1178, 1184, 1187, 1188, 1189, - 1192, 1192, 1199, 1200, 1203, 1204, 1207, 1207, 1210, 1211, - 1214, 1214, 1233, 1233, 1234, 1235, 1236, 1237, 1237, 1240, - 1241, 1244, 1245, 1246, 1247, 1250, 1250, 1269, 1269, 1324, - 1325, 1326, 1327, 1330, 1331, 1332, 1333, 1334, 1335, 1336, - 1339, 1340, 1343, 1346, 1347, 1348, 1349, 1350, 1351, 1354, - 1355, 1356, 1357, 1358, 1359, 1362, 1363, 1364, 1365, 1366, - 1367, 1368, 1369, 1372, 1373, 1374, 1375, 1379, 1381, 1378, - 1386, 1386, 1390, 1392, 1390, 1400, 1402, 1400, 1411, 1419, - 1420, 1423, 1427, 1431, 1434, 1440, 1447, 1448, 1451, 1451, - 1454, 1455, 1463, 1464, 1463, 1475, 1476, 1475, 1488, 1488, - 1488, 1490, 1490, 1495, 1500, 1494, 1514, 1523, 1527, 1528, - 1532, 1545, 1550, 1531, 1598, 1599, 1602, 1603, 1606, 1614, - 1615, 1616, 1617, 1620, 1621, 1624, 1625, 1628, 1629, 1632, - 1633, 1638, 1644, 1654, 1637, 1673, 1674, 1678, 1677, 1690, - 1698, 1706, 1707, 1711, 1710, 1721, 1722, 1731, 1731, 1734, - 1734, 1737, 1739, 1742, 1742, 1742, 1747, 1755, 1766, 1776, - 1746, 1807, 1808, 1811, 1812, 1820, 1821, 1824, 1833, 1834, - 1835, 1838, 1849, 1867, 1871, 1879, 1880, 1883, 1884, 1885, - 1886, 1887, 1890, 1891, 1892, 1893, 1894, 1898, 1897, 1920, - 1921, 1924, 1925 + 0, 283, 283, 284, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 301, 306, 314, 314, + 315, 315, 316, 316, 317, 317, 320, 321, 322, 323, + 326, 327, 328, 329, 332, 333, 336, 337, 340, 341, + 342, 343, 344, 345, 346, 347, 348, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 362, 363, 371, 372, + 373, 374, 375, 376, 382, 383, 384, 385, 386, 387, + 388, 389, 391, 391, 397, 398, 399, 411, 411, 431, + 433, 431, 437, 439, 437, 443, 444, 445, 446, 447, + 448, 448, 454, 457, 465, 484, 484, 487, 488, 489, + 490, 491, 492, 505, 506, 507, 508, 511, 512, 513, + 514, 517, 518, 521, 522, 525, 526, 529, 530, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 556, 557, + 560, 563, 566, 567, 572, 575, 580, 586, 591, 596, + 597, 600, 605, 608, 619, 622, 627, 630, 633, 634, + 637, 640, 641, 646, 649, 654, 655, 658, 663, 666, + 669, 670, 677, 678, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 699, 700, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 731, 732, 733, 734, 735, 736, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 761, 765, 768, 769, 773, 776, + 779, 780, 783, 784, 787, 788, 789, 790, 791, 794, + 795, 800, 801, 802, 808, 809, 812, 815, 820, 823, + 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, + 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, + 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, + 862, 863, 866, 867, 868, 869, 870, 871, 874, 875, + 878, 879, 882, 883, 884, 885, 886, 887, 888, 895, + 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, + 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, + 921, 922, 925, 928, 929, 932, 933, 934, 937, 940, + 943, 946, 949, 952, 955, 958, 961, 962, 963, 964, + 965, 966, 969, 970, 971, 972, 973, 974, 977, 978, + 981, 982, 983, 984, 985, 986, 987, 988, 989, 992, + 998, 999, 1000, 1003, 1004, 1007, 1007, 1013, 1014, 1015, + 1016, 1019, 1020, 1023, 1024, 1028, 1031, 1027, 1034, 1033, + 1069, 1070, 1072, 1075, 1084, 1088, 1091, 1091, 1093, 1093, + 1095, 1095, 1097, 1097, 1107, 1108, 1111, 1112, 1120, 1121, + 1123, 1127, 1134, 1152, 1152, 1181, 1187, 1190, 1191, 1192, + 1195, 1195, 1202, 1203, 1206, 1207, 1210, 1210, 1213, 1214, + 1217, 1217, 1236, 1236, 1237, 1238, 1239, 1240, 1240, 1243, + 1244, 1247, 1248, 1249, 1250, 1253, 1253, 1272, 1272, 1327, + 1328, 1329, 1330, 1333, 1334, 1335, 1336, 1337, 1338, 1339, + 1342, 1343, 1346, 1349, 1350, 1351, 1352, 1353, 1354, 1357, + 1358, 1359, 1360, 1361, 1362, 1365, 1366, 1367, 1368, 1369, + 1370, 1371, 1372, 1375, 1376, 1377, 1378, 1382, 1384, 1381, + 1389, 1389, 1393, 1395, 1393, 1403, 1405, 1403, 1414, 1422, + 1423, 1426, 1430, 1434, 1437, 1443, 1450, 1451, 1454, 1454, + 1457, 1458, 1466, 1467, 1466, 1478, 1479, 1478, 1491, 1491, + 1491, 1493, 1493, 1498, 1503, 1497, 1517, 1526, 1530, 1531, + 1535, 1548, 1553, 1534, 1601, 1602, 1605, 1606, 1609, 1617, + 1618, 1619, 1620, 1623, 1624, 1627, 1628, 1631, 1632, 1635, + 1636, 1641, 1647, 1657, 1640, 1676, 1677, 1681, 1680, 1693, + 1701, 1709, 1710, 1714, 1713, 1724, 1725, 1734, 1734, 1737, + 1737, 1740, 1742, 1745, 1745, 1745, 1750, 1758, 1769, 1779, + 1749, 1810, 1811, 1814, 1815, 1823, 1824, 1827, 1836, 1837, + 1838, 1841, 1852, 1870, 1874, 1882, 1883, 1886, 1887, 1888, + 1889, 1890, 1893, 1894, 1895, 1896, 1897, 1901, 1900, 1923, + 1924, 1927, 1928 }; #endif @@ -4015,14 +4018,14 @@ yydestruct (yymsg, yytype, yyvaluep, pComp) switch (yytype) { case 19: /* "LITERAL" */ -#line 276 "harbour.y" +#line 279 "harbour.y" { if( (yyvaluep->valChar).dealloc ) hb_xfree( (yyvaluep->valChar).string ); }; -#line 4021 "harboury.c" +#line 4024 "harboury.c" break; case 96: /* "CBSTART" */ -#line 275 "harbour.y" +#line 278 "harbour.y" { if( (yyvaluep->asCodeblock).string ) hb_xfree( (yyvaluep->asCodeblock).string ); }; -#line 4026 "harboury.c" +#line 4029 "harboury.c" break; default: @@ -4333,17 +4336,17 @@ yyreduce: switch (yyn) { case 9: -#line 289 "harbour.y" +#line 292 "harbour.y" { yyclearin; yyerrok; ;} break; case 15: -#line 295 "harbour.y" +#line 298 "harbour.y" { yyclearin; yyerrok; ;} break; case 16: -#line 299 "harbour.y" +#line 302 "harbour.y" { HB_COMP_PARAM->currModule = hb_compIdentifierNew( HB_COMP_PARAM, (yyvsp[(3) - (4)].valChar).string, (yyvsp[(3) - (4)].valChar).dealloc ? HB_IDENT_FREE : HB_IDENT_STATIC ); HB_COMP_PARAM->currLine = ( int ) (yyvsp[(2) - (4)].valLong).lNumber; HB_COMP_PARAM->pLex->fEol = HB_FALSE; @@ -4351,7 +4354,7 @@ yyreduce: break; case 17: -#line 304 "harbour.y" +#line 307 "harbour.y" { HB_COMP_PARAM->currModule = hb_compIdentifierNew( HB_COMP_PARAM, (yyvsp[(5) - (6)].valChar).string, (yyvsp[(5) - (6)].valChar).dealloc ? HB_IDENT_FREE : HB_IDENT_STATIC ); HB_COMP_PARAM->currLine = ( int ) (yyvsp[(2) - (6)].valLong).lNumber; HB_COMP_PARAM->pLex->fEol = HB_FALSE; @@ -4360,187 +4363,187 @@ yyreduce: break; case 18: -#line 311 "harbour.y" +#line 314 "harbour.y" { hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), 0 ); ;} break; case 20: -#line 312 "harbour.y" +#line 315 "harbour.y" { hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), FUN_PROCEDURE ); ;} break; case 22: -#line 313 "harbour.y" +#line 316 "harbour.y" { hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), 0 ); HB_COMP_PARAM->iVarScope = VS_PARAMETER; ;} break; case 24: -#line 314 "harbour.y" +#line 317 "harbour.y" { hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), FUN_PROCEDURE ); HB_COMP_PARAM->iVarScope = VS_PARAMETER;;} break; case 26: -#line 317 "harbour.y" +#line 320 "harbour.y" { (yyval.iNumber) = HB_FS_PUBLIC; ;} break; case 27: -#line 318 "harbour.y" +#line 321 "harbour.y" { (yyval.iNumber) = HB_FS_STATIC; ;} break; case 28: -#line 319 "harbour.y" +#line 322 "harbour.y" { (yyval.iNumber) = HB_FS_INIT; ;} break; case 29: -#line 320 "harbour.y" +#line 323 "harbour.y" { (yyval.iNumber) = HB_FS_EXIT; ;} break; case 30: -#line 323 "harbour.y" +#line 326 "harbour.y" { (yyval.iNumber) = 0; ;} break; case 31: -#line 324 "harbour.y" +#line 327 "harbour.y" { HB_COMP_PARAM->functions.pLast->fVParams = HB_TRUE; (yyval.iNumber) = 0; ;} break; case 33: -#line 326 "harbour.y" +#line 329 "harbour.y" { HB_COMP_PARAM->functions.pLast->fVParams = HB_TRUE; (yyval.iNumber) = (yyvsp[(1) - (3)].iNumber); ;} break; case 34: -#line 329 "harbour.y" +#line 332 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, ' ', NULL ); ;} break; case 36: -#line 333 "harbour.y" +#line 336 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, ' ', NULL ); ;} break; case 38: -#line 337 "harbour.y" +#line 340 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'N', NULL ); ;} break; case 39: -#line 338 "harbour.y" +#line 341 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'C', NULL ); ;} break; case 40: -#line 339 "harbour.y" +#line 342 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'D', NULL ); ;} break; case 41: -#line 340 "harbour.y" +#line 343 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'L', NULL ); ;} break; case 42: -#line 341 "harbour.y" +#line 344 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'B', NULL ); ;} break; case 43: -#line 342 "harbour.y" +#line 345 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'O', NULL ); ;} break; case 44: -#line 343 "harbour.y" +#line 346 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'S', (yyvsp[(2) - (2)].string) ); ;} break; case 45: -#line 344 "harbour.y" +#line 347 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, ' ', NULL ); ;} break; case 47: -#line 348 "harbour.y" +#line 351 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'A', NULL ); ;} break; case 48: -#line 349 "harbour.y" +#line 352 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'n', NULL ); ;} break; case 49: -#line 350 "harbour.y" +#line 353 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'c', NULL ); ;} break; case 50: -#line 351 "harbour.y" +#line 354 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'd', NULL ); ;} break; case 51: -#line 352 "harbour.y" +#line 355 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'l', NULL ); ;} break; case 52: -#line 353 "harbour.y" +#line 356 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'a', NULL ); ;} break; case 53: -#line 354 "harbour.y" +#line 357 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'b', NULL ); ;} break; case 54: -#line 355 "harbour.y" +#line 358 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'o', NULL ); ;} break; case 55: -#line 356 "harbour.y" +#line 359 "harbour.y" { (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 's', (yyvsp[(2) - (2)].string) ); ;} break; case 56: -#line 359 "harbour.y" +#line 362 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asVarType) ); (yyval.iNumber) = 1; ;} break; case 57: -#line 360 "harbour.y" +#line 363 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), (yyvsp[(4) - (4)].asVarType) ); (yyval.iNumber)++; ;} break; case 59: -#line 369 "harbour.y" - { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 60: -#line 370 "harbour.y" - { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 61: -#line 371 "harbour.y" - { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 62: #line 372 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} break; - case 63: + case 60: #line 373 "harbour.y" + { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 61: +#line 374 "harbour.y" + { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 62: +#line 375 "harbour.y" + { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 63: +#line 376 "harbour.y" { if( HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) ) HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); else @@ -4550,53 +4553,53 @@ yyreduce: break; case 64: -#line 379 "harbour.y" - { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 65: -#line 380 "harbour.y" - { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 66: -#line 381 "harbour.y" - { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 67: #line 382 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} break; - case 68: + case 65: #line 383 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} break; - case 69: + case 66: #line 384 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} break; - case 70: + case 67: #line 385 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} break; - case 71: + case 68: #line 386 "harbour.y" + { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 69: +#line 387 "harbour.y" + { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 70: +#line 388 "harbour.y" + { HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 71: +#line 389 "harbour.y" { hb_compGenBreak( HB_COMP_PARAM ); hb_compGenPCode2( HB_P_DOSHORT, 0, HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->funFlags |= FUN_BREAK_CODE; ;} break; case 72: -#line 388 "harbour.y" +#line 391 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 73: -#line 389 "harbour.y" +#line 392 "harbour.y" { hb_compGenBreak( HB_COMP_PARAM ); HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ) ); hb_compGenPCode2( HB_P_DOSHORT, 1, HB_COMP_PARAM ); @@ -4605,17 +4608,17 @@ yyreduce: break; case 74: -#line 394 "harbour.y" +#line 397 "harbour.y" { hb_compLoopExit( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->funFlags |= FUN_BREAK_CODE; ;} break; case 75: -#line 395 "harbour.y" +#line 398 "harbour.y" { hb_compLoopLoop( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->funFlags |= FUN_BREAK_CODE; ;} break; case 76: -#line 396 "harbour.y" +#line 399 "harbour.y" { if( HB_COMP_PARAM->functions.pLast->wSeqCounter ) { @@ -4631,12 +4634,12 @@ yyreduce: break; case 77: -#line 408 "harbour.y" +#line 411 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 78: -#line 410 "harbour.y" +#line 413 "harbour.y" { if( HB_COMP_PARAM->functions.pLast->wSeqCounter ) { @@ -4658,12 +4661,12 @@ yyreduce: break; case 79: -#line 428 "harbour.y" +#line 431 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = VS_PUBLIC; ;} break; case 80: -#line 430 "harbour.y" +#line 433 "harbour.y" { hb_compRTVariableGen( HB_COMP_PARAM, "__MVPUBLIC" ); HB_COMP_PARAM->iVarScope = VS_NONE; HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; @@ -4671,12 +4674,12 @@ yyreduce: break; case 82: -#line 434 "harbour.y" +#line 437 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = VS_PRIVATE; ;} break; case 83: -#line 436 "harbour.y" +#line 439 "harbour.y" { hb_compRTVariableGen( HB_COMP_PARAM, "__MVPRIVATE" ); HB_COMP_PARAM->iVarScope = VS_NONE; HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_WITH_RETURN; @@ -4684,7 +4687,7 @@ yyreduce: break; case 90: -#line 445 "harbour.y" +#line 448 "harbour.y" { if( HB_COMP_PARAM->szAnnounce == NULL ) HB_COMP_PARAM->szAnnounce = (yyvsp[(2) - (2)].string); @@ -4694,7 +4697,7 @@ yyreduce: break; case 93: -#line 454 "harbour.y" +#line 457 "harbour.y" { if( (yyvsp[(1) - (1)].valChar).dealloc ) { @@ -4706,7 +4709,7 @@ yyreduce: break; case 94: -#line 462 "harbour.y" +#line 465 "harbour.y" { { char szFileName[ HB_PATH_MAX ]; @@ -4727,37 +4730,37 @@ yyreduce: break; case 95: -#line 481 "harbour.y" +#line 484 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 97: -#line 484 "harbour.y" - { (yyval.lNumber) = 0; ;} - break; - - case 98: -#line 485 "harbour.y" - { (yyval.lNumber) = 1; ;} - break; - - case 99: -#line 486 "harbour.y" - { (yyval.lNumber) = 1; ;} - break; - - case 100: #line 487 "harbour.y" { (yyval.lNumber) = 0; ;} break; - case 101: + case 98: #line 488 "harbour.y" + { (yyval.lNumber) = 1; ;} + break; + + case 99: +#line 489 "harbour.y" + { (yyval.lNumber) = 1; ;} + break; + + case 100: +#line 490 "harbour.y" + { (yyval.lNumber) = 0; ;} + break; + + case 101: +#line 491 "harbour.y" { (yyval.lNumber) = 0; hb_compCheckUnclosedStru( HB_COMP_PARAM, HB_COMP_PARAM->functions.pLast ); ;} break; case 102: -#line 489 "harbour.y" +#line 492 "harbour.y" { if( HB_COMP_PARAM->ilastLineErr && HB_COMP_PARAM->ilastLineErr == HB_COMP_PARAM->currLine ) { yyclearin; @@ -4772,162 +4775,162 @@ yyreduce: break; case 112: -#line 515 "harbour.y" +#line 518 "harbour.y" { (yyval.lNumber) += (yyvsp[(2) - (2)].lNumber); ;} break; case 113: -#line 518 "harbour.y" +#line 521 "harbour.y" { (yyval.lNumber) = 0; ;} break; case 115: -#line 522 "harbour.y" +#line 525 "harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].string), 0 ); ;} break; case 116: -#line 523 "harbour.y" +#line 526 "harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), 0 ); ;} break; case 117: -#line 526 "harbour.y" +#line 529 "harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].string), HB_FS_DEFERRED ); ;} break; case 118: -#line 527 "harbour.y" +#line 530 "harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), HB_FS_DEFERRED ); ;} break; case 120: -#line 531 "harbour.y" +#line 534 "harbour.y" { (yyval.string) = ( char * ) "STEP"; ;} break; case 121: -#line 532 "harbour.y" +#line 535 "harbour.y" { (yyval.string) = ( char * ) "TO"; ;} break; case 122: -#line 533 "harbour.y" +#line 536 "harbour.y" { (yyval.string) = ( char * ) "LOOP"; ;} break; case 123: -#line 534 "harbour.y" +#line 537 "harbour.y" { (yyval.string) = ( char * ) "EXIT"; ;} break; case 124: -#line 535 "harbour.y" +#line 538 "harbour.y" { (yyval.string) = ( char * ) "IN"; ;} break; case 125: -#line 536 "harbour.y" - { (yyval.string) = (yyvsp[(1) - (1)].string); ;} - break; - - case 126: -#line 537 "harbour.y" - { (yyval.string) = (yyvsp[(1) - (1)].string); ;} - break; - - case 127: -#line 538 "harbour.y" - { (yyval.string) = (yyvsp[(1) - (1)].string); ;} - break; - - case 128: #line 539 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 129: + case 126: #line 540 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 130: + case 127: #line 541 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 131: + case 128: #line 542 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 132: + case 129: #line 543 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 133: + case 130: #line 544 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 134: + case 131: #line 545 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 135: + case 132: #line 546 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 136: + case 133: #line 547 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 137: + case 134: #line 548 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; + case 135: +#line 549 "harbour.y" + { (yyval.string) = (yyvsp[(1) - (1)].string); ;} + break; + + case 136: +#line 550 "harbour.y" + { (yyval.string) = (yyvsp[(1) - (1)].string); ;} + break; + + case 137: +#line 551 "harbour.y" + { (yyval.string) = (yyvsp[(1) - (1)].string); ;} + break; + case 138: -#line 553 "harbour.y" +#line 556 "harbour.y" { (yyval.asExpr) = hb_compExprNewDouble( (yyvsp[(1) - (1)].valDouble).dNumber, (yyvsp[(1) - (1)].valDouble).bWidth, (yyvsp[(1) - (1)].valDouble).bDec, HB_COMP_PARAM ); ;} break; case 139: -#line 554 "harbour.y" +#line 557 "harbour.y" { (yyval.asExpr) = hb_compExprNewLong( (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); ;} break; case 140: -#line 557 "harbour.y" +#line 560 "harbour.y" { (yyval.asExpr) = hb_compExprNewDate( ( long ) (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); ;} break; case 141: -#line 560 "harbour.y" +#line 563 "harbour.y" { (yyval.asExpr) = hb_compExprNewTimeStamp( (yyvsp[(1) - (1)].valTimeStamp).date, (yyvsp[(1) - (1)].valTimeStamp).time, HB_COMP_PARAM ); ;} break; case 142: -#line 563 "harbour.y" +#line 566 "harbour.y" { (yyval.asExpr) = hb_compExprNewLong( (yyvsp[(1) - (2)].valLong).lNumber, HB_COMP_PARAM ); ;} break; case 143: -#line 564 "harbour.y" +#line 567 "harbour.y" { (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, hb_compExprNewDouble( (yyvsp[(1) - (2)].valDouble).dNumber, (yyvsp[(1) - (2)].valDouble).bWidth, (yyvsp[(1) - (2)].valDouble).bDec, HB_COMP_PARAM ) ); ;} break; case 144: -#line 569 "harbour.y" +#line 572 "harbour.y" { (yyval.asExpr) = hb_compExprNewNil( HB_COMP_PARAM ); ;} break; case 146: -#line 577 "harbour.y" +#line 580 "harbour.y" { (yyval.asExpr) = hb_compExprNewString( (yyvsp[(1) - (1)].valChar).string, (yyvsp[(1) - (1)].valChar).length, (yyvsp[(1) - (1)].valChar).dealloc, HB_COMP_PARAM ); (yyvsp[(1) - (1)].valChar).dealloc = HB_FALSE; @@ -4935,447 +4938,447 @@ yyreduce: break; case 149: -#line 593 "harbour.y" +#line 596 "harbour.y" { (yyval.asExpr) = hb_compExprNewLogical( HB_TRUE, HB_COMP_PARAM ); ;} break; case 150: -#line 594 "harbour.y" +#line 597 "harbour.y" { (yyval.asExpr) = hb_compExprNewLogical( HB_FALSE, HB_COMP_PARAM ); ;} break; case 152: -#line 602 "harbour.y" +#line 605 "harbour.y" { (yyval.asExpr) = hb_compExprNewSelf( HB_COMP_PARAM ); ;} break; case 154: -#line 616 "harbour.y" +#line 619 "harbour.y" { (yyval.asExpr) = hb_compExprNewArray( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 156: -#line 624 "harbour.y" +#line 627 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 158: -#line 630 "harbour.y" +#line 633 "harbour.y" { (yyval.asExpr) = hb_compExprNewHash( NULL, HB_COMP_PARAM ); ;} break; case 159: -#line 631 "harbour.y" +#line 634 "harbour.y" { (yyval.asExpr) = hb_compExprNewHash( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 161: -#line 637 "harbour.y" +#line 640 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewList( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 162: -#line 638 "harbour.y" +#line 641 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprAddListExpr( (yyvsp[(1) - (5)].asExpr), (yyvsp[(3) - (5)].asExpr) ), (yyvsp[(5) - (5)].asExpr) ); ;} break; case 163: -#line 643 "harbour.y" +#line 646 "harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 164: -#line 646 "harbour.y" +#line 649 "harbour.y" { (yyval.asExpr) = hb_compExprNewAlias( (yyvsp[(1) - (2)].string), HB_COMP_PARAM ); ;} break; case 165: -#line 651 "harbour.y" +#line 654 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( NULL, '&', (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 166: -#line 652 "harbour.y" +#line 655 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( NULL, 0, (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 168: -#line 660 "harbour.y" +#line 663 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( (yyvsp[(2) - (2)].asExpr), 0, NULL, HB_COMP_PARAM ); ;} break; case 172: -#line 674 "harbour.y" +#line 677 "harbour.y" { (yyval.asExpr) = hb_compExprNewAlias( "FIELD", HB_COMP_PARAM ); ;} break; case 173: -#line 675 "harbour.y" +#line 678 "harbour.y" { (yyval.asExpr) = (yyvsp[(3) - (3)].asExpr); ;} break; case 174: -#line 680 "harbour.y" - { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 175: -#line 681 "harbour.y" - { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 176: -#line 682 "harbour.y" - { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 177: #line 683 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 178: + case 175: #line 684 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 179: + case 176: #line 685 "harbour.y" - { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} + { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 180: + case 177: #line 686 "harbour.y" - { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} + { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 181: + case 178: #line 687 "harbour.y" - { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} + { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 182: + case 179: #line 688 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; - case 183: + case 180: #line 689 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; - case 184: + case 181: #line 690 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; - case 185: + case 182: #line 691 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; - case 186: + case 183: #line 692 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; - case 187: + case 184: #line 693 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; - case 188: + case 185: +#line 694 "harbour.y" + { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} + break; + + case 186: +#line 695 "harbour.y" + { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} + break; + + case 187: #line 696 "harbour.y" + { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} + break; + + case 188: +#line 699 "harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 190: -#line 700 "harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 191: -#line 701 "harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 192: -#line 702 "harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 193: #line 703 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 194: + case 191: #line 704 "harbour.y" - { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 195: + case 192: #line 705 "harbour.y" - { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 196: + case 193: #line 706 "harbour.y" - { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 197: + case 194: #line 707 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 198: + case 195: #line 708 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 199: + case 196: #line 709 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 200: + case 197: #line 710 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 201: + case 198: #line 711 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 202: + case 199: #line 712 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 203: + case 200: #line 713 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 204: + case 201: #line 714 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 205: + case 202: #line 715 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 206: + case 203: #line 716 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; - case 207: + case 204: #line 717 "harbour.y" + { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} + break; + + case 205: +#line 718 "harbour.y" + { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} + break; + + case 206: +#line 719 "harbour.y" + { HB_COMP_EXPR_FREE( (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} + break; + + case 207: +#line 720 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 208: -#line 718 "harbour.y" +#line 721 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 209: -#line 719 "harbour.y" +#line 722 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 210: -#line 728 "harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 211: -#line 729 "harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 212: -#line 730 "harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 213: #line 731 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 214: + case 211: #line 732 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 215: + case 212: #line 733 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} + break; + + case 213: +#line 734 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} + break; + + case 214: +#line 735 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} + break; + + case 215: +#line 736 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 216: -#line 738 "harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 217: -#line 739 "harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 218: -#line 740 "harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 219: #line 741 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 220: + case 217: #line 742 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 221: + case 218: #line 743 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 222: + case 219: #line 744 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 223: + case 220: #line 745 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 224: + case 221: #line 746 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 225: + case 222: #line 747 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 226: + case 223: #line 748 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 227: + case 224: #line 749 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 228: + case 225: #line 750 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 229: + case 226: #line 751 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 230: + case 227: #line 752 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 231: + case 228: #line 753 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 232: + case 229: #line 754 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 233: + case 230: #line 755 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; + case 231: +#line 756 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + + case 232: +#line 757 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + + case 233: +#line 758 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + case 235: -#line 762 "harbour.y" +#line 765 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( hb_compExprNewFunName( (yyvsp[(1) - (4)].string), HB_COMP_PARAM ), (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ); ;} break; case 237: -#line 766 "harbour.y" +#line 769 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(1) - (4)].asExpr), (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ); ;} break; case 238: -#line 770 "harbour.y" +#line 773 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 240: -#line 776 "harbour.y" +#line 779 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 241: -#line 777 "harbour.y" +#line 780 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 244: -#line 784 "harbour.y" +#line 787 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewVarRef( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ) ); ;} break; case 245: -#line 785 "harbour.y" +#line 788 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} break; case 246: -#line 786 "harbour.y" +#line 789 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} break; case 247: -#line 787 "harbour.y" +#line 790 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} break; case 248: -#line 788 "harbour.y" +#line 791 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); (yyval.asExpr)->value.asList.reference = HB_TRUE; ;} break; case 249: -#line 791 "harbour.y" +#line 794 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgRef( HB_COMP_PARAM ); ;} break; case 251: -#line 797 "harbour.y" +#line 800 "harbour.y" { (yyval.asExpr) = hb_compCheckMethod( HB_COMP_PARAM, hb_compExprNewMethodObject( (yyvsp[(3) - (3)].asExpr), (yyvsp[(1) - (3)].asExpr) ) ); ;} break; case 252: -#line 798 "harbour.y" +#line 801 "harbour.y" { (yyval.asExpr) = hb_compExprNewMethodObject( (yyvsp[(3) - (3)].asExpr), (yyvsp[(1) - (3)].asExpr) ); ;} break; case 253: -#line 799 "harbour.y" +#line 802 "harbour.y" { if( HB_COMP_PARAM->functions.pLast->wWithObjectCnt == 0 ) hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_WITHOBJECT, NULL, NULL ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); @@ -5383,328 +5386,328 @@ yyreduce: break; case 254: -#line 805 "harbour.y" +#line 808 "harbour.y" { (yyval.asExpr) = hb_compExprNewSend( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 255: -#line 806 "harbour.y" +#line 809 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacroSend( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 256: -#line 809 "harbour.y" +#line 812 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(3) - (4)].string), HB_COMP_PARAM ); ;} break; case 258: -#line 817 "harbour.y" +#line 820 "harbour.y" { (yyval.asExpr) = hb_compExprNewMethodCall( (yyvsp[(1) - (4)].asExpr), (yyvsp[(3) - (4)].asExpr) ); ;} break; case 268: -#line 837 "harbour.y" +#line 840 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 278: -#line 847 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} - break; - - case 281: #line 850 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; + case 281: +#line 853 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} + break; + case 283: -#line 852 "harbour.y" +#line 855 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 295: -#line 866 "harbour.y" +#line 869 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 296: -#line 867 "harbour.y" +#line 870 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 298: -#line 871 "harbour.y" +#line 874 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgRef( HB_COMP_PARAM ); ;} break; case 300: -#line 875 "harbour.y" +#line 878 "harbour.y" { (yyval.asExpr) = hb_compExprNewEmpty( HB_COMP_PARAM ); ;} break; case 302: -#line 879 "harbour.y" +#line 882 "harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 308: -#line 885 "harbour.y" +#line 888 "harbour.y" { (yyval.asExpr) = hb_compExprListStrip( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 330: -#line 918 "harbour.y" +#line 921 "harbour.y" { (yyval.asExpr) = hb_compExprNewPostInc( (yyvsp[(0) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 331: -#line 919 "harbour.y" +#line 922 "harbour.y" { (yyval.asExpr) = hb_compExprNewPostDec( (yyvsp[(0) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 332: -#line 922 "harbour.y" +#line 925 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 333: -#line 925 "harbour.y" +#line 928 "harbour.y" { (yyval.asExpr) = hb_compExprNewPreInc( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 334: -#line 926 "harbour.y" +#line 929 "harbour.y" { (yyval.asExpr) = hb_compExprNewPreDec( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 335: -#line 929 "harbour.y" +#line 932 "harbour.y" { (yyval.asExpr) = hb_compExprNewNot( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 336: -#line 930 "harbour.y" +#line 933 "harbour.y" { (yyval.asExpr) = hb_compExprNewNegate( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 337: -#line 931 "harbour.y" +#line 934 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 338: -#line 934 "harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 339: #line 937 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 340: + case 339: #line 940 "harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} + break; + + case 340: +#line 943 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 341: -#line 943 "harbour.y" +#line 946 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 342: -#line 946 "harbour.y" +#line 949 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 343: -#line 949 "harbour.y" +#line 952 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 344: -#line 952 "harbour.y" +#line 955 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 345: -#line 955 "harbour.y" +#line 958 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 352: -#line 966 "harbour.y" +#line 969 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlus( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 353: -#line 967 "harbour.y" +#line 970 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinus( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 354: -#line 968 "harbour.y" +#line 971 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMult( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 355: -#line 969 "harbour.y" +#line 972 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDiv( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 356: -#line 970 "harbour.y" +#line 973 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMod( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 357: -#line 971 "harbour.y" +#line 974 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPower( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 358: -#line 974 "harbour.y" +#line 977 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewAnd( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 359: -#line 975 "harbour.y" +#line 978 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewOr( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 360: -#line 978 "harbour.y" +#line 981 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEQ( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 361: -#line 979 "harbour.y" +#line 982 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLT( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 362: -#line 980 "harbour.y" +#line 983 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewGT( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 363: -#line 981 "harbour.y" +#line 984 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 364: -#line 982 "harbour.y" +#line 985 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewGE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 365: -#line 983 "harbour.y" +#line 986 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewNE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 366: -#line 984 "harbour.y" +#line 987 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewNE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 367: -#line 985 "harbour.y" +#line 988 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewIN( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 368: -#line 986 "harbour.y" +#line 989 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEqual( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 370: -#line 995 "harbour.y" +#line 998 "harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(0) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 371: -#line 996 "harbour.y" +#line 999 "harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 372: -#line 997 "harbour.y" +#line 1000 "harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(1) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ); ;} break; case 373: -#line 1000 "harbour.y" +#line 1003 "harbour.y" { (yyval.asExpr) = hb_compExprNewList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 374: -#line 1001 "harbour.y" +#line 1004 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 375: -#line 1004 "harbour.y" +#line 1007 "harbour.y" { (yyval.asExpr) = hb_compExprNewCodeBlock( (yyvsp[(1) - (1)].asCodeblock).string, (yyvsp[(1) - (1)].asCodeblock).length, (yyvsp[(1) - (1)].asCodeblock).flags, HB_COMP_PARAM ); (yyvsp[(1) - (1)].asCodeblock).string = NULL; ;} break; case 376: -#line 1005 "harbour.y" +#line 1008 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (4)].asExpr); ;} break; case 377: -#line 1010 "harbour.y" +#line 1013 "harbour.y" { (yyval.asExpr) = NULL; ;} break; case 378: -#line 1011 "harbour.y" +#line 1014 "harbour.y" { (yyval.asExpr) = NULL; (yyvsp[(0) - (1)].asExpr)->value.asCodeblock.flags |= HB_BLOCK_VPARAMS; ;} break; case 379: -#line 1012 "harbour.y" +#line 1015 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 380: -#line 1013 "harbour.y" +#line 1016 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); (yyvsp[(0) - (3)].asExpr)->value.asCodeblock.flags |= HB_BLOCK_VPARAMS; ;} break; case 381: -#line 1016 "harbour.y" +#line 1019 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; (yyval.asExpr) = hb_compExprCBVarAdd( (yyvsp[(0) - (2)].asExpr), (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asVarType)->cVarType, HB_COMP_PARAM ); ;} break; case 382: -#line 1017 "harbour.y" +#line 1020 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; (yyval.asExpr) = hb_compExprCBVarAdd( (yyvsp[(0) - (4)].asExpr), (yyvsp[(3) - (4)].string), (yyvsp[(4) - (4)].asVarType)->cVarType, HB_COMP_PARAM ); ;} break; case 383: -#line 1020 "harbour.y" +#line 1023 "harbour.y" { (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-1) - (1)].asExpr), (yyvsp[(1) - (1)].asExpr) ); ;} break; case 384: -#line 1021 "harbour.y" +#line 1024 "harbour.y" { (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 385: -#line 1025 "harbour.y" +#line 1028 "harbour.y" { (yyval.bTrue) = HB_COMP_PARAM->functions.pLast->bBlock; HB_COMP_PARAM->functions.pLast->bBlock = HB_TRUE; ;} break; case 386: -#line 1028 "harbour.y" +#line 1031 "harbour.y" { HB_COMP_PARAM->functions.pLast->bBlock = (yyvsp[(2) - (3)].bTrue); ;} break; case 388: -#line 1031 "harbour.y" +#line 1034 "harbour.y" { /* 3 */ HB_CBVAR_PTR pVar; (yyval.sNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; @@ -5732,7 +5735,7 @@ yyreduce: break; case 389: -#line 1056 "harbour.y" +#line 1059 "harbour.y" { /* 6 */ hb_compCodeBlockEnd( HB_COMP_PARAM ); (yyval.asExpr) = hb_compExprSetCodeblockBody( (yyvsp[(1) - (5)].asExpr), @@ -5744,42 +5747,42 @@ yyreduce: break; case 390: -#line 1066 "harbour.y" +#line 1069 "harbour.y" { (yyval.asExpr) = hb_compExprNewList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 391: -#line 1067 "harbour.y" +#line 1070 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 392: -#line 1069 "harbour.y" +#line 1072 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (3)].asExpr) ;} break; case 394: -#line 1082 "harbour.y" +#line 1085 "harbour.y" { (yyval.asExpr) = hb_compExprNewIIF( hb_compExprAddListExpr( hb_compExprAddListExpr( hb_compExprNewList( (yyvsp[(3) - (8)].asExpr), HB_COMP_PARAM ), (yyvsp[(5) - (8)].asExpr) ), (yyvsp[(7) - (8)].asExpr) ) ); ;} break; case 396: -#line 1088 "harbour.y" +#line 1091 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 398: -#line 1090 "harbour.y" +#line 1093 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_STATIC; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 400: -#line 1092 "harbour.y" +#line 1095 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_TH_STATIC; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 402: -#line 1094 "harbour.y" +#line 1097 "harbour.y" { if( HB_COMP_PARAM->functions.pLast->funFlags & FUN_USES_LOCAL_PARAMS ) hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_PARAMETERS_NOT_ALLOWED, NULL, NULL ); else @@ -5791,44 +5794,44 @@ yyreduce: break; case 403: -#line 1101 "harbour.y" +#line 1104 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; case 404: -#line 1104 "harbour.y" +#line 1107 "harbour.y" { (yyval.iNumber) = 1; ;} break; case 405: -#line 1105 "harbour.y" +#line 1108 "harbour.y" { (yyval.iNumber)++; ;} break; case 406: -#line 1108 "harbour.y" +#line 1111 "harbour.y" { (yyval.iNumber) = 1; ;} break; case 407: -#line 1109 "harbour.y" +#line 1112 "harbour.y" { (yyval.iNumber)++; ;} break; case 409: -#line 1119 "harbour.y" +#line 1122 "harbour.y" { hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_FALSE ); ;} break; case 410: -#line 1121 "harbour.y" +#line 1124 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ) ); hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[(1) - (4)].asExpr), HB_COMP_PARAM ), HB_TRUE ); ;} break; case 411: -#line 1125 "harbour.y" +#line 1128 "harbour.y" { HB_COMP_EXPR_FREE( hb_compArrayDimPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ) ); hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), HB_TRUE ); @@ -5836,7 +5839,7 @@ yyreduce: break; case 412: -#line 1132 "harbour.y" +#line 1135 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asVarType) ); if( HB_COMP_PARAM->iVarScope & VS_STATIC ) @@ -5857,14 +5860,14 @@ yyreduce: break; case 413: -#line 1149 "harbour.y" +#line 1152 "harbour.y" { (yyval.iNumber) = HB_COMP_PARAM->iVarScope; hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asVarType) ); ;} break; case 414: -#line 1153 "harbour.y" +#line 1156 "harbour.y" { HB_COMP_PARAM->iVarScope = (yyvsp[(3) - (5)].iNumber); if( HB_COMP_PARAM->iVarScope & VS_STATIC ) @@ -5892,79 +5895,79 @@ yyreduce: break; case 415: -#line 1178 "harbour.y" +#line 1181 "harbour.y" { hb_compVariableDim( (yyvsp[(1) - (3)].string), (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 417: -#line 1187 "harbour.y" +#line 1190 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 418: -#line 1188 "harbour.y" +#line 1191 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 419: -#line 1189 "harbour.y" +#line 1192 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr) ); ;} break; case 420: -#line 1192 "harbour.y" +#line 1195 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_FIELD; ;} break; case 421: -#line 1194 "harbour.y" +#line 1197 "harbour.y" { if( (yyvsp[(4) - (5)].string) ) hb_compFieldSetAlias( HB_COMP_PARAM, (yyvsp[(4) - (5)].string), (yyvsp[(3) - (5)].iNumber) ); ;} break; case 422: -#line 1199 "harbour.y" +#line 1202 "harbour.y" { (yyval.iNumber) = hb_compFieldsCount( HB_COMP_PARAM ); hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asVarType) ); ;} break; case 423: -#line 1200 "harbour.y" +#line 1203 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), (yyvsp[(4) - (4)].asVarType) ); ;} break; case 424: -#line 1203 "harbour.y" +#line 1206 "harbour.y" { (yyval.string) = NULL; ;} break; case 425: -#line 1204 "harbour.y" +#line 1207 "harbour.y" { (yyval.string) = (yyvsp[(2) - (2)].string); ;} break; case 426: -#line 1207 "harbour.y" +#line 1210 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_MEMVAR; ;} break; case 428: -#line 1210 "harbour.y" +#line 1213 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asVarType) ); ;} break; case 429: -#line 1211 "harbour.y" +#line 1214 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), (yyvsp[(4) - (4)].asVarType) ); ;} break; case 430: -#line 1214 "harbour.y" +#line 1217 "harbour.y" { hb_compDeclaredAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string) ); HB_COMP_PARAM->szDeclaredFun = (yyvsp[(2) - (3)].string); ;} break; case 431: -#line 1215 "harbour.y" +#line 1218 "harbour.y" { if( HB_COMP_PARAM->pLastDeclared ) { @@ -5986,47 +5989,47 @@ yyreduce: break; case 432: -#line 1233 "harbour.y" +#line 1236 "harbour.y" { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (2)].string), NULL ); ;} break; case 433: -#line 1233 "harbour.y" - { HB_COMP_PARAM->iVarScope = VS_NONE; ;} - break; - - case 434: -#line 1234 "harbour.y" - { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), NULL ); HB_COMP_PARAM->iVarScope = VS_NONE; ;} - break; - - case 435: -#line 1235 "harbour.y" - { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].string) ); HB_COMP_PARAM->iVarScope = VS_NONE; ;} - break; - - case 436: #line 1236 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 437: + case 434: #line 1237 "harbour.y" + { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), NULL ); HB_COMP_PARAM->iVarScope = VS_NONE; ;} + break; + + case 435: +#line 1238 "harbour.y" + { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].string) ); HB_COMP_PARAM->iVarScope = VS_NONE; ;} + break; + + case 436: +#line 1239 "harbour.y" + { HB_COMP_PARAM->iVarScope = VS_NONE; ;} + break; + + case 437: +#line 1240 "harbour.y" { HB_COMP_PARAM->cDataListType = (yyvsp[(3) - (3)].asVarType)->cVarType; ;} break; case 438: -#line 1237 "harbour.y" +#line 1240 "harbour.y" { HB_COMP_PARAM->cDataListType = 0; HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; case 445: -#line 1250 "harbour.y" +#line 1253 "harbour.y" { HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[(1) - (2)].string) ); ;} break; case 446: -#line 1251 "harbour.y" +#line 1254 "harbour.y" { if( HB_COMP_PARAM->pLastMethod ) { @@ -6046,12 +6049,12 @@ yyreduce: break; case 447: -#line 1269 "harbour.y" +#line 1272 "harbour.y" { HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[(1) - (1)].string) ); ;} break; case 448: -#line 1270 "harbour.y" +#line 1273 "harbour.y" { if( HB_COMP_PARAM->pLastMethod ) { @@ -6107,150 +6110,150 @@ yyreduce: break; case 462: -#line 1343 "harbour.y" +#line 1346 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (1)].asExpr) ); ;} break; case 463: -#line 1346 "harbour.y" +#line 1349 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asVarType) ); ;} break; case 464: -#line 1347 "harbour.y" +#line 1350 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[(3) - (3)].asVarType)->cVarType + VT_OFFSET_BYREF, NULL ) ); ;} break; case 465: -#line 1348 "harbour.y" +#line 1351 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (5)].string), hb_compVarTypeNew( HB_COMP_PARAM, 'F', NULL ) ); ;} break; case 466: -#line 1349 "harbour.y" +#line 1352 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), (yyvsp[(4) - (4)].asVarType) ); ;} break; case 467: -#line 1350 "harbour.y" +#line 1353 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (5)].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[(5) - (5)].asVarType)->cVarType + VT_OFFSET_BYREF, NULL ) ); ;} break; case 468: -#line 1351 "harbour.y" +#line 1354 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (7)].string), hb_compVarTypeNew( HB_COMP_PARAM, 'F', NULL ) ); ;} break; case 469: -#line 1354 "harbour.y" +#line 1357 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[(3) - (3)].asVarType)->cVarType + VT_OFFSET_OPTIONAL, NULL ) ); ;} break; case 470: -#line 1355 "harbour.y" +#line 1358 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[(4) - (4)].asVarType)->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF, NULL ) ); ;} break; case 471: -#line 1356 "harbour.y" +#line 1359 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (6)].string), hb_compVarTypeNew( HB_COMP_PARAM, 'F' + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF, NULL ) ); ;} break; case 472: -#line 1357 "harbour.y" +#line 1360 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (5)].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[(5) - (5)].asVarType)->cVarType + VT_OFFSET_OPTIONAL, NULL ) ); ;} break; case 473: -#line 1358 "harbour.y" +#line 1361 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(5) - (6)].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[(6) - (6)].asVarType)->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF, NULL ) ); ;} break; case 474: -#line 1359 "harbour.y" +#line 1362 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(5) - (8)].string), hb_compVarTypeNew( HB_COMP_PARAM, 'F' + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF, NULL ) ); ;} break; case 483: -#line 1372 "harbour.y" +#line 1375 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (2)].sNumber), HB_COMP_PARAM ); ;} break; case 484: -#line 1373 "harbour.y" +#line 1376 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (3)].sNumber), HB_COMP_PARAM ); ;} break; case 485: -#line 1374 "harbour.y" +#line 1377 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (3)].sNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (3)].pVoid) ); ;} break; case 486: -#line 1375 "harbour.y" +#line 1378 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (4)].sNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (4)].pVoid) ); ;} break; case 487: -#line 1379 "harbour.y" +#line 1382 "harbour.y" { ++HB_COMP_PARAM->functions.pLast->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 488: -#line 1381 "harbour.y" +#line 1384 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ) ); (yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 489: -#line 1383 "harbour.y" +#line 1386 "harbour.y" { (yyval.sNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].sNumber), HB_COMP_PARAM ); ;} break; case 490: -#line 1386 "harbour.y" +#line 1389 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; ;} break; case 492: -#line 1390 "harbour.y" +#line 1393 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 493: -#line 1392 "harbour.y" +#line 1395 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ) ); (yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 494: -#line 1396 "harbour.y" +#line 1399 "harbour.y" { (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, NULL, hb_compGenJump( 0, HB_COMP_PARAM ) ); hb_compGenJumpHere( (yyvsp[(5) - (6)].sNumber), HB_COMP_PARAM ); ;} break; case 495: -#line 1400 "harbour.y" +#line 1403 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 496: -#line 1402 "harbour.y" +#line 1405 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ) ); (yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 497: -#line 1406 "harbour.y" +#line 1409 "harbour.y" { (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, (yyvsp[(1) - (7)].pVoid), hb_compGenJump( 0, HB_COMP_PARAM ) ); hb_compGenJumpHere( (yyvsp[(6) - (7)].sNumber), HB_COMP_PARAM ); ;} break; case 498: -#line 1412 "harbour.y" +#line 1415 "harbour.y" { if( HB_COMP_PARAM->functions.pLast->wIfCounter ) --HB_COMP_PARAM->functions.pLast->wIfCounter; @@ -6259,17 +6262,17 @@ yyreduce: break; case 501: -#line 1425 "harbour.y" +#line 1428 "harbour.y" { hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (3)].pVoid) ); ;} break; case 504: -#line 1437 "harbour.y" +#line 1440 "harbour.y" { hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (4)].pVoid) ); ;} break; case 505: -#line 1441 "harbour.y" +#line 1444 "harbour.y" { if( HB_COMP_PARAM->functions.pLast->wCaseCounter ) --HB_COMP_PARAM->functions.pLast->wCaseCounter; HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); @@ -6277,12 +6280,12 @@ yyreduce: break; case 508: -#line 1451 "harbour.y" +#line 1454 "harbour.y" { ++HB_COMP_PARAM->functions.pLast->wCaseCounter; hb_compLinePushIfDebugger( HB_COMP_PARAM );;} break; case 511: -#line 1455 "harbour.y" +#line 1458 "harbour.y" { if( (yyvsp[(2) - (2)].lNumber) > 0 ) { @@ -6292,12 +6295,12 @@ yyreduce: break; case 512: -#line 1463 "harbour.y" +#line 1466 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 513: -#line 1464 "harbour.y" +#line 1467 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ) ); (yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); @@ -6305,7 +6308,7 @@ yyreduce: break; case 514: -#line 1469 "harbour.y" +#line 1472 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, NULL, hb_compGenJump( 0, HB_COMP_PARAM ) ); @@ -6314,12 +6317,12 @@ yyreduce: break; case 515: -#line 1475 "harbour.y" +#line 1478 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 516: -#line 1476 "harbour.y" +#line 1479 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ) ); (yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); @@ -6327,7 +6330,7 @@ yyreduce: break; case 517: -#line 1481 "harbour.y" +#line 1484 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, (yyvsp[(1) - (7)].pVoid), hb_compGenJump( 0, HB_COMP_PARAM ) ); @@ -6336,22 +6339,22 @@ yyreduce: break; case 518: -#line 1488 "harbour.y" +#line 1491 "harbour.y" {hb_compLinePushIfDebugger( HB_COMP_PARAM ); ;} break; case 519: -#line 1488 "harbour.y" +#line 1491 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; ;} break; case 521: -#line 1490 "harbour.y" +#line 1493 "harbour.y" { hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_MAYHEM_IN_CASE, NULL, NULL ); ;} break; case 523: -#line 1495 "harbour.y" +#line 1498 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ) ); (yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); @@ -6359,7 +6362,7 @@ yyreduce: break; case 524: -#line 1500 "harbour.y" +#line 1503 "harbour.y" { hb_compLoopHere( HB_COMP_PARAM ); hb_compGenJump( (yyvsp[(1) - (5)].sNumber) - HB_COMP_PARAM->functions.pLast->lPCodePos, HB_COMP_PARAM ); @@ -6367,7 +6370,7 @@ yyreduce: break; case 525: -#line 1505 "harbour.y" +#line 1508 "harbour.y" { hb_compGenJumpHere( (yyvsp[(4) - (7)].sNumber), HB_COMP_PARAM ); if( HB_COMP_PARAM->functions.pLast->wWhileCounter ) @@ -6378,7 +6381,7 @@ yyreduce: break; case 526: -#line 1515 "harbour.y" +#line 1518 "harbour.y" { (yyval.sNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; hb_compLinePushIfInside( HB_COMP_PARAM ); @@ -6388,12 +6391,12 @@ yyreduce: break; case 527: -#line 1524 "harbour.y" +#line 1527 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; ;} break; case 530: -#line 1532 "harbour.y" +#line 1535 "harbour.y" { /* 5 */ hb_compLinePushIfInside( HB_COMP_PARAM ); (yyvsp[(1) - (4)].iNumber) = HB_COMP_PARAM->currLine; @@ -6409,7 +6412,7 @@ yyreduce: break; case 531: -#line 1545 "harbour.y" +#line 1548 "harbour.y" { /* 9 */ hb_compLoopStart( HB_COMP_PARAM, HB_TRUE ); (yyval.sNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); @@ -6417,14 +6420,14 @@ yyreduce: break; case 532: -#line 1550 "harbour.y" +#line 1553 "harbour.y" { /* 11 */ (yyval.sNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; ;} break; case 533: -#line 1554 "harbour.y" +#line 1557 "harbour.y" { int iSign, iLine; @@ -6470,17 +6473,17 @@ yyreduce: break; case 536: -#line 1602 "harbour.y" +#line 1605 "harbour.y" { (yyval.asExpr) = NULL; ;} break; case 537: -#line 1603 "harbour.y" +#line 1606 "harbour.y" { (yyval.asExpr) = hb_compExprReduce( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 538: -#line 1607 "harbour.y" +#line 1610 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); if( HB_COMP_PARAM->functions.pLast->wForCounter ) @@ -6489,42 +6492,42 @@ yyreduce: break; case 543: -#line 1620 "harbour.y" +#line 1623 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 544: -#line 1621 "harbour.y" +#line 1624 "harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 545: -#line 1624 "harbour.y" +#line 1627 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 546: -#line 1625 "harbour.y" +#line 1628 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 547: -#line 1628 "harbour.y" +#line 1631 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ); ;} break; case 549: -#line 1632 "harbour.y" +#line 1635 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 550: -#line 1633 "harbour.y" +#line 1636 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 551: -#line 1638 "harbour.y" +#line 1641 "harbour.y" { ++HB_COMP_PARAM->functions.pLast->wForCounter; /* 5 */ hb_compLinePushIfInside( HB_COMP_PARAM ); @@ -6533,7 +6536,7 @@ yyreduce: break; case 552: -#line 1644 "harbour.y" +#line 1647 "harbour.y" { /* 7 */ (yyvsp[(2) - (6)].asExpr) = hb_compExprReduce( (yyvsp[(2) - (6)].asExpr), HB_COMP_PARAM ); @@ -6546,7 +6549,7 @@ yyreduce: break; case 553: -#line 1654 "harbour.y" +#line 1657 "harbour.y" { /* 9 */ (yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); @@ -6554,7 +6557,7 @@ yyreduce: break; case 554: -#line 1659 "harbour.y" +#line 1662 "harbour.y" { hb_compLoopHere( HB_COMP_PARAM ); hb_compEnumNext( HB_COMP_PARAM, (yyvsp[(2) - (10)].asExpr), (yyvsp[(6) - (10)].iNumber) ); @@ -6570,17 +6573,17 @@ yyreduce: break; case 555: -#line 1673 "harbour.y" +#line 1676 "harbour.y" { (yyval.iNumber) = 1; ;} break; case 556: -#line 1674 "harbour.y" +#line 1677 "harbour.y" { (yyval.iNumber) = -1; ;} break; case 557: -#line 1678 "harbour.y" +#line 1681 "harbour.y" { hb_compLoopStart( HB_COMP_PARAM, HB_FALSE ); hb_compSwitchStart( HB_COMP_PARAM, (yyvsp[(1) - (1)].asExpr) ); @@ -6589,7 +6592,7 @@ yyreduce: break; case 558: -#line 1685 "harbour.y" +#line 1688 "harbour.y" { hb_compSwitchEnd( HB_COMP_PARAM ); hb_compLoopEnd( HB_COMP_PARAM ); @@ -6597,7 +6600,7 @@ yyreduce: break; case 559: -#line 1692 "harbour.y" +#line 1695 "harbour.y" { HB_COMP_EXPR_FREE( (yyvsp[(1) - (2)].asExpr) ); hb_compGenPCode1( HB_P_POP, HB_COMP_PARAM ); @@ -6605,7 +6608,7 @@ yyreduce: break; case 560: -#line 1699 "harbour.y" +#line 1702 "harbour.y" { if( HB_COMP_PARAM->functions.pLast->wSwitchCounter ) --HB_COMP_PARAM->functions.pLast->wSwitchCounter; @@ -6614,7 +6617,7 @@ yyreduce: break; case 563: -#line 1711 "harbour.y" +#line 1714 "harbour.y" { ++HB_COMP_PARAM->functions.pLast->wSwitchCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); @@ -6622,14 +6625,14 @@ yyreduce: break; case 564: -#line 1716 "harbour.y" +#line 1719 "harbour.y" { (yyval.asExpr) = hb_compExprReduce( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ); ;} break; case 566: -#line 1723 "harbour.y" +#line 1726 "harbour.y" { if( (yyvsp[(2) - (2)].lNumber) > 0 ) { @@ -6639,27 +6642,27 @@ yyreduce: break; case 567: -#line 1731 "harbour.y" +#line 1734 "harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); ;} break; case 569: -#line 1734 "harbour.y" +#line 1737 "harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); ;} break; case 573: -#line 1742 "harbour.y" +#line 1745 "harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, NULL ); hb_compLinePush( HB_COMP_PARAM ); ;} break; case 574: -#line 1742 "harbour.y" +#line 1745 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; ;} break; case 576: -#line 1747 "harbour.y" +#line 1750 "harbour.y" { /* 2 */ hb_compLinePushIfInside( HB_COMP_PARAM ); ++HB_COMP_PARAM->functions.pLast->wSeqCounter; @@ -6668,7 +6671,7 @@ yyreduce: break; case 577: -#line 1755 "harbour.y" +#line 1758 "harbour.y" { /* 6 */ /* Set jump address for HB_P_SEQBEGIN opcode - this address * will be used in BREAK code if there is no RECOVER clause @@ -6682,7 +6685,7 @@ yyreduce: break; case 578: -#line 1766 "harbour.y" +#line 1769 "harbour.y" { /* 8 */ /* Replace END address with RECOVER address in * HB_P_SEQBEGIN opcode if there is RECOVER clause @@ -6695,7 +6698,7 @@ yyreduce: break; case 579: -#line 1776 "harbour.y" +#line 1779 "harbour.y" { /* 10 */ long lLoopCount = hb_compLoopCount( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); @@ -6727,12 +6730,12 @@ yyreduce: break; case 583: -#line 1811 "harbour.y" +#line 1814 "harbour.y" { (yyval.sNumber) = 0; ;} break; case 584: -#line 1813 "harbour.y" +#line 1816 "harbour.y" { HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); hb_compGenPCode1( HB_P_SEQBLOCK, HB_COMP_PARAM ); @@ -6741,12 +6744,12 @@ yyreduce: break; case 585: -#line 1820 "harbour.y" +#line 1823 "harbour.y" { (yyval.sNumber) = 0; ;} break; case 587: -#line 1825 "harbour.y" +#line 1828 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); (yyval.sNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; @@ -6756,12 +6759,12 @@ yyreduce: break; case 588: -#line 1833 "harbour.y" +#line 1836 "harbour.y" { (yyval.sNumber) = 0; HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; ;} break; case 591: -#line 1839 "harbour.y" +#line 1842 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; (yyval.sNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; @@ -6773,7 +6776,7 @@ yyreduce: break; case 592: -#line 1850 "harbour.y" +#line 1853 "harbour.y" { HB_COMP_PARAM->functions.pLast->funFlags &= ~ FUN_BREAK_CODE; (yyval.sNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; @@ -6786,14 +6789,14 @@ yyreduce: break; case 593: -#line 1868 "harbour.y" +#line 1871 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(2) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 594: -#line 1872 "harbour.y" +#line 1875 "harbour.y" { hb_compModuleAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_FALSE ); /* DOIDENT is the only one identifier which can be returned in lower letters */ @@ -6802,47 +6805,47 @@ yyreduce: break; case 595: -#line 1879 "harbour.y" +#line 1882 "harbour.y" { (yyval.asExpr) = NULL; ;} break; case 596: -#line 1880 "harbour.y" +#line 1883 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 597: -#line 1883 "harbour.y" +#line 1886 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), hb_compExprNewNil( HB_COMP_PARAM ) ); ;} break; case 598: -#line 1884 "harbour.y" +#line 1887 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), (yyvsp[(2) - (2)].asExpr) ); ;} break; case 599: -#line 1885 "harbour.y" +#line 1888 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 600: -#line 1886 "harbour.y" +#line 1889 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (2)].asExpr), hb_compExprNewNil( HB_COMP_PARAM ) ); ;} break; case 601: -#line 1887 "harbour.y" +#line 1890 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 602: -#line 1890 "harbour.y" +#line 1893 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 607: -#line 1898 "harbour.y" +#line 1901 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ) ); @@ -6853,7 +6856,7 @@ yyreduce: break; case 608: -#line 1907 "harbour.y" +#line 1910 "harbour.y" { if( HB_COMP_PARAM->functions.pLast->wWithObjectCnt ) --HB_COMP_PARAM->functions.pLast->wWithObjectCnt; if( (yyvsp[(5) - (6)].lNumber) ) @@ -6868,13 +6871,13 @@ yyreduce: break; case 611: -#line 1924 "harbour.y" +#line 1927 "harbour.y" { HB_COMP_PARAM->fError = HB_FALSE; ;} break; /* Line 1269 of yacc.c. */ -#line 6878 "harboury.c" +#line 6881 "harboury.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -7093,7 +7096,7 @@ yyreturn: } -#line 1928 "harbour.y" +#line 1931 "harbour.y" /* diff --git a/harbour/src/compiler/harbour.yyh b/harbour/src/compiler/harbour.yyh index bb9e119d62..1b387c0216 100644 --- a/harbour/src/compiler/harbour.yyh +++ b/harbour/src/compiler/harbour.yyh @@ -266,7 +266,7 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 114 "harbour.y" +#line 117 "harbour.y" { char * string; /* to hold a string returned by lex */ int iNumber; /* to hold a temporary integer number */ diff --git a/harbour/src/rtl/gtsln/kbsln.c b/harbour/src/rtl/gtsln/kbsln.c index ff9720269e..69bdd60f6b 100644 --- a/harbour/src/rtl/gtsln/kbsln.c +++ b/harbour/src/rtl/gtsln/kbsln.c @@ -332,6 +332,7 @@ int hb_gt_sln_ReadKey( PHB_GT pGT, int iEventMask ) /* TODO: we need here some kind of screen redrawing */ /*SLsmg_refresh();*/ HB_GTSELF_RESIZE( pGT, SLtt_Screen_Rows, SLtt_Screen_Cols ); + return HB_K_RESIZE; } fInput = SLang_input_pending( 0 ) != 0;