Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 246196 | Differences between
and this patch

Collapse All | Expand All

(-)acpica-unix-20081204.orig/compiler/aslcompiler.y (-120 / +120 lines)
Lines 794-800 ASLCode Link Here
794
    ;
794
    ;
795
795
796
DefinitionBlockTerm
796
DefinitionBlockTerm
797
    : PARSEOP_DEFINITIONBLOCK '('	{$$ = TrCreateLeafNode (PARSEOP_DEFINITIONBLOCK);}
797
    : PARSEOP_DEFINITIONBLOCK '('	{$<n>$ = TrCreateLeafNode (PARSEOP_DEFINITIONBLOCK);}
798
        String ','
798
        String ','
799
        String ','
799
        String ','
800
        ByteConst ','
800
        ByteConst ','
Lines 1111-1117 Type6Opcode Link Here
1111
    ;
1111
    ;
1112
1112
1113
IncludeTerm
1113
IncludeTerm
1114
    : PARSEOP_INCLUDE '('			{$$ = TrCreateLeafNode (PARSEOP_INCLUDE);}
1114
    : PARSEOP_INCLUDE '('			{$<n>$ = TrCreateLeafNode (PARSEOP_INCLUDE);}
1115
        String  ')'                 {TrLinkChildren ($<n>3,1,$4);FlOpenIncludeFile ($4);}
1115
        String  ')'                 {TrLinkChildren ($<n>3,1,$4);FlOpenIncludeFile ($4);}
1116
        TermList
1116
        TermList
1117
        IncludeEndTerm              {$$ = TrLinkPeerNodes (3,$<n>3,$7,$8);}
1117
        IncludeEndTerm              {$$ = TrLinkPeerNodes (3,$<n>3,$7,$8);}
Lines 1147-1153 ExternalTerm Link Here
1147
1147
1148
1148
1149
BankFieldTerm
1149
BankFieldTerm
1150
    : PARSEOP_BANKFIELD '('			{$$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
1150
    : PARSEOP_BANKFIELD '('			{$<n>$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
1151
        NameString
1151
        NameString
1152
        NameStringItem
1152
        NameStringItem
1153
        TermArgItem
1153
        TermArgItem
Lines 1198-1204 AccessAsTerm Link Here
1198
    ;
1198
    ;
1199
1199
1200
CreateBitFieldTerm
1200
CreateBitFieldTerm
1201
    : PARSEOP_CREATEBITFIELD '('	{$$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
1201
    : PARSEOP_CREATEBITFIELD '('	{$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
1202
        TermArg
1202
        TermArg
1203
        TermArgItem
1203
        TermArgItem
1204
        NameStringItem
1204
        NameStringItem
Lines 1208-1214 CreateBitFieldTerm Link Here
1208
    ;
1208
    ;
1209
1209
1210
CreateByteFieldTerm
1210
CreateByteFieldTerm
1211
    : PARSEOP_CREATEBYTEFIELD '('	{$$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
1211
    : PARSEOP_CREATEBYTEFIELD '('	{$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
1212
        TermArg
1212
        TermArg
1213
        TermArgItem
1213
        TermArgItem
1214
        NameStringItem
1214
        NameStringItem
Lines 1218-1224 CreateByteFieldTerm Link Here
1218
    ;
1218
    ;
1219
1219
1220
CreateDWordFieldTerm
1220
CreateDWordFieldTerm
1221
    : PARSEOP_CREATEDWORDFIELD '('	{$$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
1221
    : PARSEOP_CREATEDWORDFIELD '('	{$<n>$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
1222
        TermArg
1222
        TermArg
1223
        TermArgItem
1223
        TermArgItem
1224
        NameStringItem
1224
        NameStringItem
Lines 1228-1234 CreateDWordFieldTerm Link Here
1228
    ;
1228
    ;
1229
1229
1230
CreateFieldTerm
1230
CreateFieldTerm
1231
    : PARSEOP_CREATEFIELD '('		{$$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
1231
    : PARSEOP_CREATEFIELD '('		{$<n>$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
1232
        TermArg
1232
        TermArg
1233
        TermArgItem
1233
        TermArgItem
1234
        TermArgItem
1234
        TermArgItem
Lines 1239-1245 CreateFieldTerm Link Here
1239
    ;
1239
    ;
1240
1240
1241
CreateQWordFieldTerm
1241
CreateQWordFieldTerm
1242
    : PARSEOP_CREATEQWORDFIELD '('	{$$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
1242
    : PARSEOP_CREATEQWORDFIELD '('	{$<n>$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
1243
        TermArg
1243
        TermArg
1244
        TermArgItem
1244
        TermArgItem
1245
        NameStringItem
1245
        NameStringItem
Lines 1249-1255 CreateQWordFieldTerm Link Here
1249
    ;
1249
    ;
1250
1250
1251
CreateWordFieldTerm
1251
CreateWordFieldTerm
1252
    : PARSEOP_CREATEWORDFIELD '('	{$$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
1252
    : PARSEOP_CREATEWORDFIELD '('	{$<n>$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
1253
        TermArg
1253
        TermArg
1254
        TermArgItem
1254
        TermArgItem
1255
        NameStringItem
1255
        NameStringItem
Lines 1259-1265 CreateWordFieldTerm Link Here
1259
    ;
1259
    ;
1260
1260
1261
DataRegionTerm
1261
DataRegionTerm
1262
    : PARSEOP_DATATABLEREGION '('	{$$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
1262
    : PARSEOP_DATATABLEREGION '('	{$<n>$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
1263
        NameString
1263
        NameString
1264
        TermArgItem
1264
        TermArgItem
1265
        TermArgItem
1265
        TermArgItem
Lines 1270-1276 DataRegionTerm Link Here
1270
    ;
1270
    ;
1271
1271
1272
DeviceTerm
1272
DeviceTerm
1273
    : PARSEOP_DEVICE '('			{$$ = TrCreateLeafNode (PARSEOP_DEVICE);}
1273
    : PARSEOP_DEVICE '('			{$<n>$ = TrCreateLeafNode (PARSEOP_DEVICE);}
1274
        NameString
1274
        NameString
1275
        ')' '{'
1275
        ')' '{'
1276
            ObjectList '}'          {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
1276
            ObjectList '}'          {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
Lines 1279-1285 DeviceTerm Link Here
1279
    ;
1279
    ;
1280
1280
1281
EventTerm
1281
EventTerm
1282
    : PARSEOP_EVENT '('				{$$ = TrCreateLeafNode (PARSEOP_EVENT);}
1282
    : PARSEOP_EVENT '('				{$<n>$ = TrCreateLeafNode (PARSEOP_EVENT);}
1283
        NameString
1283
        NameString
1284
        ')'                         {$$ = TrLinkChildren ($<n>3,1,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION));}
1284
        ')'                         {$$ = TrLinkChildren ($<n>3,1,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION));}
1285
    | PARSEOP_EVENT '('
1285
    | PARSEOP_EVENT '('
Lines 1287-1293 EventTerm Link Here
1287
    ;
1287
    ;
1288
1288
1289
FieldTerm
1289
FieldTerm
1290
    : PARSEOP_FIELD '('				{$$ = TrCreateLeafNode (PARSEOP_FIELD);}
1290
    : PARSEOP_FIELD '('				{$<n>$ = TrCreateLeafNode (PARSEOP_FIELD);}
1291
        NameString
1291
        NameString
1292
        ',' AccessTypeKeyword
1292
        ',' AccessTypeKeyword
1293
        ',' LockRuleKeyword
1293
        ',' LockRuleKeyword
Lines 1299-1305 FieldTerm Link Here
1299
    ;
1299
    ;
1300
1300
1301
FunctionTerm
1301
FunctionTerm
1302
    : PARSEOP_FUNCTION '('			{$$ = TrCreateLeafNode (PARSEOP_METHOD);}
1302
    : PARSEOP_FUNCTION '('			{$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
1303
        NameString
1303
        NameString
1304
        OptionalParameterTypePackage
1304
        OptionalParameterTypePackage
1305
        OptionalParameterTypesPackage
1305
        OptionalParameterTypesPackage
Lines 1313-1319 FunctionTerm Link Here
1313
    ;
1313
    ;
1314
1314
1315
IndexFieldTerm
1315
IndexFieldTerm
1316
    : PARSEOP_INDEXFIELD '('		{$$ = TrCreateLeafNode (PARSEOP_INDEXFIELD);}
1316
    : PARSEOP_INDEXFIELD '('		{$<n>$ = TrCreateLeafNode (PARSEOP_INDEXFIELD);}
1317
        NameString
1317
        NameString
1318
        NameStringItem
1318
        NameStringItem
1319
        ',' AccessTypeKeyword
1319
        ',' AccessTypeKeyword
Lines 1326-1332 IndexFieldTerm Link Here
1326
    ;
1326
    ;
1327
1327
1328
MethodTerm
1328
MethodTerm
1329
    : PARSEOP_METHOD  '('			{$$ = TrCreateLeafNode (PARSEOP_METHOD);}
1329
    : PARSEOP_METHOD  '('			{$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
1330
        NameString
1330
        NameString
1331
        OptionalByteConstExpr       {UtCheckIntegerRange ($5, 0, 7);}
1331
        OptionalByteConstExpr       {UtCheckIntegerRange ($5, 0, 7);}
1332
        OptionalSerializeRuleKeyword
1332
        OptionalSerializeRuleKeyword
Lines 1340-1346 MethodTerm Link Here
1340
    ;
1340
    ;
1341
1341
1342
MutexTerm
1342
MutexTerm
1343
    : PARSEOP_MUTEX '('				{$$ = TrCreateLeafNode (PARSEOP_MUTEX);}
1343
    : PARSEOP_MUTEX '('				{$<n>$ = TrCreateLeafNode (PARSEOP_MUTEX);}
1344
        NameString
1344
        NameString
1345
        ',' ByteConstExpr
1345
        ',' ByteConstExpr
1346
        ')'                         {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
1346
        ')'                         {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
Lines 1349-1355 MutexTerm Link Here
1349
    ;
1349
    ;
1350
1350
1351
OpRegionTerm
1351
OpRegionTerm
1352
    : PARSEOP_OPERATIONREGION '('	{$$ = TrCreateLeafNode (PARSEOP_OPERATIONREGION);}
1352
    : PARSEOP_OPERATIONREGION '('	{$<n>$ = TrCreateLeafNode (PARSEOP_OPERATIONREGION);}
1353
        NameString
1353
        NameString
1354
        ',' OpRegionSpaceIdTerm
1354
        ',' OpRegionSpaceIdTerm
1355
        TermArgItem
1355
        TermArgItem
Lines 1365-1371 OpRegionSpaceIdTerm Link Here
1365
    ;
1365
    ;
1366
1366
1367
PowerResTerm
1367
PowerResTerm
1368
    : PARSEOP_POWERRESOURCE '('		{$$ = TrCreateLeafNode (PARSEOP_POWERRESOURCE);}
1368
    : PARSEOP_POWERRESOURCE '('		{$<n>$ = TrCreateLeafNode (PARSEOP_POWERRESOURCE);}
1369
        NameString
1369
        NameString
1370
        ',' ByteConstExpr
1370
        ',' ByteConstExpr
1371
        ',' WordConstExpr
1371
        ',' WordConstExpr
Lines 1376-1382 PowerResTerm Link Here
1376
    ;
1376
    ;
1377
1377
1378
ProcessorTerm
1378
ProcessorTerm
1379
    : PARSEOP_PROCESSOR '('			{$$ = TrCreateLeafNode (PARSEOP_PROCESSOR);}
1379
    : PARSEOP_PROCESSOR '('			{$<n>$ = TrCreateLeafNode (PARSEOP_PROCESSOR);}
1380
        NameString
1380
        NameString
1381
        ',' ByteConstExpr
1381
        ',' ByteConstExpr
1382
        OptionalDWordConstExpr
1382
        OptionalDWordConstExpr
Lines 1388-1394 ProcessorTerm Link Here
1388
    ;
1388
    ;
1389
1389
1390
ThermalZoneTerm
1390
ThermalZoneTerm
1391
    : PARSEOP_THERMALZONE '('		{$$ = TrCreateLeafNode (PARSEOP_THERMALZONE);}
1391
    : PARSEOP_THERMALZONE '('		{$<n>$ = TrCreateLeafNode (PARSEOP_THERMALZONE);}
1392
        NameString
1392
        NameString
1393
        ')' '{'
1393
        ')' '{'
1394
            ObjectList '}'          {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
1394
            ObjectList '}'          {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
Lines 1401-1407 ThermalZoneTerm Link Here
1401
1401
1402
1402
1403
AliasTerm
1403
AliasTerm
1404
    : PARSEOP_ALIAS '('				{$$ = TrCreateLeafNode (PARSEOP_ALIAS);}
1404
    : PARSEOP_ALIAS '('				{$<n>$ = TrCreateLeafNode (PARSEOP_ALIAS);}
1405
        NameString
1405
        NameString
1406
        NameStringItem
1406
        NameStringItem
1407
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,TrSetNodeFlags ($5, NODE_IS_NAME_DECLARATION));}
1407
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,TrSetNodeFlags ($5, NODE_IS_NAME_DECLARATION));}
Lines 1410-1416 AliasTerm Link Here
1410
    ;
1410
    ;
1411
1411
1412
NameTerm
1412
NameTerm
1413
    : PARSEOP_NAME '('				{$$ = TrCreateLeafNode (PARSEOP_NAME);}
1413
    : PARSEOP_NAME '('				{$<n>$ = TrCreateLeafNode (PARSEOP_NAME);}
1414
        NameString
1414
        NameString
1415
        ',' DataObject
1415
        ',' DataObject
1416
        ')'                         {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
1416
        ')'                         {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
Lines 1419-1425 NameTerm Link Here
1419
    ;
1419
    ;
1420
1420
1421
ScopeTerm
1421
ScopeTerm
1422
    : PARSEOP_SCOPE '('				{$$ = TrCreateLeafNode (PARSEOP_SCOPE);}
1422
    : PARSEOP_SCOPE '('				{$<n>$ = TrCreateLeafNode (PARSEOP_SCOPE);}
1423
        NameString
1423
        NameString
1424
        ')' '{'
1424
        ')' '{'
1425
            ObjectList '}'          {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
1425
            ObjectList '}'          {$$ = TrLinkChildren ($<n>3,2,TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
Lines 1444-1450 ContinueTerm Link Here
1444
    ;
1444
    ;
1445
1445
1446
FatalTerm
1446
FatalTerm
1447
    : PARSEOP_FATAL '('				{$$ = TrCreateLeafNode (PARSEOP_FATAL);}
1447
    : PARSEOP_FATAL '('				{$<n>$ = TrCreateLeafNode (PARSEOP_FATAL);}
1448
        ByteConstExpr
1448
        ByteConstExpr
1449
        ',' DWordConstExpr
1449
        ',' DWordConstExpr
1450
        TermArgItem
1450
        TermArgItem
Lines 1458-1464 IfElseTerm Link Here
1458
    ;
1458
    ;
1459
1459
1460
IfTerm
1460
IfTerm
1461
    : PARSEOP_IF '('				{$$ = TrCreateLeafNode (PARSEOP_IF);}
1461
    : PARSEOP_IF '('				{$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
1462
        TermArg
1462
        TermArg
1463
        ')' '{'
1463
        ')' '{'
1464
            TermList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
1464
            TermList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
Lines 1469-1475 IfTerm Link Here
1469
1469
1470
ElseTerm
1470
ElseTerm
1471
    :                               {$$ = NULL;}
1471
    :                               {$$ = NULL;}
1472
    | PARSEOP_ELSE '{'				{$$ = TrCreateLeafNode (PARSEOP_ELSE);}
1472
    | PARSEOP_ELSE '{'				{$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
1473
        TermList '}'                {$$ = TrLinkChildren ($<n>3,1,$4);}
1473
        TermList '}'                {$$ = TrLinkChildren ($<n>3,1,$4);}
1474
1474
1475
    | PARSEOP_ELSE '{'
1475
    | PARSEOP_ELSE '{'
Lines 1478-1485 ElseTerm Link Here
1478
    | PARSEOP_ELSE
1478
    | PARSEOP_ELSE
1479
        error                       {$$ = AslDoError(); yyclearin;}
1479
        error                       {$$ = AslDoError(); yyclearin;}
1480
1480
1481
    | PARSEOP_ELSEIF '('			{$$ = TrCreateLeafNode (PARSEOP_ELSE);}
1481
    | PARSEOP_ELSEIF '('			{$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
1482
        TermArg						{$$ = TrCreateLeafNode (PARSEOP_IF);}
1482
        TermArg						{$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
1483
        ')' '{'
1483
        ')' '{'
1484
            TermList '}'		    {TrLinkChildren ($<n>5,2,$4,$8);}
1484
            TermList '}'		    {TrLinkChildren ($<n>5,2,$4,$8);}
1485
        ElseTerm                    {TrLinkPeerNode ($<n>5,$11);}
1485
        ElseTerm                    {TrLinkPeerNode ($<n>5,$11);}
Lines 1493-1499 ElseTerm Link Here
1493
    ;
1493
    ;
1494
1494
1495
LoadTerm
1495
LoadTerm
1496
    : PARSEOP_LOAD '('				{$$ = TrCreateLeafNode (PARSEOP_LOAD);}
1496
    : PARSEOP_LOAD '('				{$<n>$ = TrCreateLeafNode (PARSEOP_LOAD);}
1497
        NameString
1497
        NameString
1498
        RequiredTarget
1498
        RequiredTarget
1499
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1499
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1506-1512 NoOpTerm Link Here
1506
    ;
1506
    ;
1507
1507
1508
NotifyTerm
1508
NotifyTerm
1509
    : PARSEOP_NOTIFY '('			{$$ = TrCreateLeafNode (PARSEOP_NOTIFY);}
1509
    : PARSEOP_NOTIFY '('			{$<n>$ = TrCreateLeafNode (PARSEOP_NOTIFY);}
1510
        SuperName
1510
        SuperName
1511
        TermArgItem
1511
        TermArgItem
1512
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1512
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1515-1521 NotifyTerm Link Here
1515
    ;
1515
    ;
1516
1516
1517
ReleaseTerm
1517
ReleaseTerm
1518
    : PARSEOP_RELEASE '('			{$$ = TrCreateLeafNode (PARSEOP_RELEASE);}
1518
    : PARSEOP_RELEASE '('			{$<n>$ = TrCreateLeafNode (PARSEOP_RELEASE);}
1519
        SuperName
1519
        SuperName
1520
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1520
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1521
    | PARSEOP_RELEASE '('
1521
    | PARSEOP_RELEASE '('
Lines 1523-1529 ReleaseTerm Link Here
1523
    ;
1523
    ;
1524
1524
1525
ResetTerm
1525
ResetTerm
1526
    : PARSEOP_RESET '('				{$$ = TrCreateLeafNode (PARSEOP_RESET);}
1526
    : PARSEOP_RESET '('				{$<n>$ = TrCreateLeafNode (PARSEOP_RESET);}
1527
        SuperName
1527
        SuperName
1528
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1528
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1529
    | PARSEOP_RESET '('
1529
    | PARSEOP_RESET '('
Lines 1531-1537 ResetTerm Link Here
1531
    ;
1531
    ;
1532
1532
1533
ReturnTerm
1533
ReturnTerm
1534
    : PARSEOP_RETURN '('			{$$ = TrCreateLeafNode (PARSEOP_RETURN);}
1534
    : PARSEOP_RETURN '('			{$<n>$ = TrCreateLeafNode (PARSEOP_RETURN);}
1535
        OptionalReturnArg
1535
        OptionalReturnArg
1536
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1536
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1537
    | PARSEOP_RETURN 				{$$ = TrLinkChildren (TrCreateLeafNode (PARSEOP_RETURN),1,TrCreateLeafNode (PARSEOP_ZERO));}
1537
    | PARSEOP_RETURN 				{$$ = TrLinkChildren (TrCreateLeafNode (PARSEOP_RETURN),1,TrCreateLeafNode (PARSEOP_ZERO));}
Lines 1540-1546 ReturnTerm Link Here
1540
    ;
1540
    ;
1541
1541
1542
SignalTerm
1542
SignalTerm
1543
    : PARSEOP_SIGNAL '('			{$$ = TrCreateLeafNode (PARSEOP_SIGNAL);}
1543
    : PARSEOP_SIGNAL '('			{$<n>$ = TrCreateLeafNode (PARSEOP_SIGNAL);}
1544
        SuperName
1544
        SuperName
1545
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1545
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1546
    | PARSEOP_SIGNAL '('
1546
    | PARSEOP_SIGNAL '('
Lines 1548-1554 SignalTerm Link Here
1548
    ;
1548
    ;
1549
1549
1550
SleepTerm
1550
SleepTerm
1551
    : PARSEOP_SLEEP '('				{$$ = TrCreateLeafNode (PARSEOP_SLEEP);}
1551
    : PARSEOP_SLEEP '('				{$<n>$ = TrCreateLeafNode (PARSEOP_SLEEP);}
1552
        TermArg
1552
        TermArg
1553
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1553
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1554
    | PARSEOP_SLEEP '('
1554
    | PARSEOP_SLEEP '('
Lines 1556-1562 SleepTerm Link Here
1556
    ;
1556
    ;
1557
1557
1558
StallTerm
1558
StallTerm
1559
    : PARSEOP_STALL '('				{$$ = TrCreateLeafNode (PARSEOP_STALL);}
1559
    : PARSEOP_STALL '('				{$<n>$ = TrCreateLeafNode (PARSEOP_STALL);}
1560
        TermArg
1560
        TermArg
1561
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1561
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1562
    | PARSEOP_STALL '('
1562
    | PARSEOP_STALL '('
Lines 1564-1570 StallTerm Link Here
1564
    ;
1564
    ;
1565
1565
1566
SwitchTerm
1566
SwitchTerm
1567
    : PARSEOP_SWITCH '('			{$$ = TrCreateLeafNode (PARSEOP_SWITCH);}
1567
    : PARSEOP_SWITCH '('			{$<n>$ = TrCreateLeafNode (PARSEOP_SWITCH);}
1568
        TermArg
1568
        TermArg
1569
        ')' '{'
1569
        ')' '{'
1570
            CaseDefaultTermList '}'
1570
            CaseDefaultTermList '}'
Lines 1607-1613 CaseTermList Link Here
1607
*/
1607
*/
1608
1608
1609
CaseTerm
1609
CaseTerm
1610
    : PARSEOP_CASE '('				{$$ = TrCreateLeafNode (PARSEOP_CASE);}
1610
    : PARSEOP_CASE '('				{$<n>$ = TrCreateLeafNode (PARSEOP_CASE);}
1611
        DataObject
1611
        DataObject
1612
        ')' '{'
1612
        ')' '{'
1613
            TermList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
1613
            TermList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
Lines 1616-1629 CaseTerm Link Here
1616
    ;
1616
    ;
1617
1617
1618
DefaultTerm
1618
DefaultTerm
1619
    : PARSEOP_DEFAULT '{'			{$$ = TrCreateLeafNode (PARSEOP_DEFAULT);}
1619
    : PARSEOP_DEFAULT '{'			{$<n>$ = TrCreateLeafNode (PARSEOP_DEFAULT);}
1620
        TermList '}'                {$$ = TrLinkChildren ($<n>3,1,$4);}
1620
        TermList '}'                {$$ = TrLinkChildren ($<n>3,1,$4);}
1621
    | PARSEOP_DEFAULT '{'
1621
    | PARSEOP_DEFAULT '{'
1622
        error '}'                   {$$ = AslDoError(); yyclearin;}
1622
        error '}'                   {$$ = AslDoError(); yyclearin;}
1623
    ;
1623
    ;
1624
1624
1625
UnloadTerm
1625
UnloadTerm
1626
    : PARSEOP_UNLOAD '('			{$$ = TrCreateLeafNode (PARSEOP_UNLOAD);}
1626
    : PARSEOP_UNLOAD '('			{$<n>$ = TrCreateLeafNode (PARSEOP_UNLOAD);}
1627
        SuperName
1627
        SuperName
1628
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1628
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1629
    | PARSEOP_UNLOAD '('
1629
    | PARSEOP_UNLOAD '('
Lines 1631-1637 UnloadTerm Link Here
1631
    ;
1631
    ;
1632
1632
1633
WhileTerm
1633
WhileTerm
1634
    : PARSEOP_WHILE '('				{$$ = TrCreateLeafNode (PARSEOP_WHILE);}
1634
    : PARSEOP_WHILE '('				{$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
1635
        TermArg
1635
        TermArg
1636
        ')' '{' TermList '}'
1636
        ')' '{' TermList '}'
1637
                                    {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
1637
                                    {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
Lines 1643-1649 WhileTerm Link Here
1643
/******* Type 2 opcodes *******************************************************/
1643
/******* Type 2 opcodes *******************************************************/
1644
1644
1645
AcquireTerm
1645
AcquireTerm
1646
    : PARSEOP_ACQUIRE '('			{$$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
1646
    : PARSEOP_ACQUIRE '('			{$<n>$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
1647
        SuperName
1647
        SuperName
1648
        ',' WordConstExpr
1648
        ',' WordConstExpr
1649
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$6);}
1649
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$6);}
Lines 1652-1658 AcquireTerm Link Here
1652
    ;
1652
    ;
1653
1653
1654
AddTerm
1654
AddTerm
1655
    : PARSEOP_ADD '('				{$$ = TrCreateLeafNode (PARSEOP_ADD);}
1655
    : PARSEOP_ADD '('				{$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
1656
        TermArg
1656
        TermArg
1657
        TermArgItem
1657
        TermArgItem
1658
        Target
1658
        Target
Lines 1662-1668 AddTerm Link Here
1662
    ;
1662
    ;
1663
1663
1664
AndTerm
1664
AndTerm
1665
    : PARSEOP_AND '('				{$$ = TrCreateLeafNode (PARSEOP_AND);}
1665
    : PARSEOP_AND '('				{$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
1666
        TermArg
1666
        TermArg
1667
        TermArgItem
1667
        TermArgItem
1668
        Target
1668
        Target
Lines 1672-1678 AndTerm Link Here
1672
    ;
1672
    ;
1673
1673
1674
ConcatTerm
1674
ConcatTerm
1675
    : PARSEOP_CONCATENATE '('		{$$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
1675
    : PARSEOP_CONCATENATE '('		{$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
1676
        TermArg
1676
        TermArg
1677
        TermArgItem
1677
        TermArgItem
1678
        Target
1678
        Target
Lines 1682-1688 ConcatTerm Link Here
1682
    ;
1682
    ;
1683
1683
1684
ConcatResTerm
1684
ConcatResTerm
1685
    : PARSEOP_CONCATENATERESTEMPLATE '('    {$$ = TrCreateLeafNode (PARSEOP_CONCATENATERESTEMPLATE);}
1685
    : PARSEOP_CONCATENATERESTEMPLATE '('    {$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATERESTEMPLATE);}
1686
        TermArg
1686
        TermArg
1687
        TermArgItem
1687
        TermArgItem
1688
        Target
1688
        Target
Lines 1692-1698 ConcatResTerm Link Here
1692
    ;
1692
    ;
1693
1693
1694
CondRefOfTerm
1694
CondRefOfTerm
1695
    : PARSEOP_CONDREFOF '('			{$$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
1695
    : PARSEOP_CONDREFOF '('			{$<n>$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
1696
        SuperName
1696
        SuperName
1697
        Target
1697
        Target
1698
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1698
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1701-1707 CondRefOfTerm Link Here
1701
    ;
1701
    ;
1702
1702
1703
CopyObjectTerm
1703
CopyObjectTerm
1704
    : PARSEOP_COPYOBJECT '('		{$$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
1704
    : PARSEOP_COPYOBJECT '('		{$<n>$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
1705
        TermArg
1705
        TermArg
1706
        ',' SimpleTarget
1706
        ',' SimpleTarget
1707
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,TrSetNodeFlags ($6, NODE_IS_TARGET));}
1707
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,TrSetNodeFlags ($6, NODE_IS_TARGET));}
Lines 1710-1716 CopyObjectTerm Link Here
1710
    ;
1710
    ;
1711
1711
1712
DecTerm
1712
DecTerm
1713
    : PARSEOP_DECREMENT '('			{$$ = TrCreateLeafNode (PARSEOP_DECREMENT);}
1713
    : PARSEOP_DECREMENT '('			{$<n>$ = TrCreateLeafNode (PARSEOP_DECREMENT);}
1714
        SuperName
1714
        SuperName
1715
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1715
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1716
    | PARSEOP_DECREMENT '('
1716
    | PARSEOP_DECREMENT '('
Lines 1718-1724 DecTerm Link Here
1718
    ;
1718
    ;
1719
1719
1720
DerefOfTerm
1720
DerefOfTerm
1721
    : PARSEOP_DEREFOF '('			{$$ = TrCreateLeafNode (PARSEOP_DEREFOF);}
1721
    : PARSEOP_DEREFOF '('			{$<n>$ = TrCreateLeafNode (PARSEOP_DEREFOF);}
1722
        TermArg
1722
        TermArg
1723
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1723
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1724
    | PARSEOP_DEREFOF '('
1724
    | PARSEOP_DEREFOF '('
Lines 1726-1732 DerefOfTerm Link Here
1726
    ;
1726
    ;
1727
1727
1728
DivideTerm
1728
DivideTerm
1729
    : PARSEOP_DIVIDE '('			{$$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
1729
    : PARSEOP_DIVIDE '('			{$<n>$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
1730
        TermArg
1730
        TermArg
1731
        TermArgItem
1731
        TermArgItem
1732
        Target
1732
        Target
Lines 1737-1743 DivideTerm Link Here
1737
    ;
1737
    ;
1738
1738
1739
FindSetLeftBitTerm
1739
FindSetLeftBitTerm
1740
    : PARSEOP_FINDSETLEFTBIT '('	{$$ = TrCreateLeafNode (PARSEOP_FINDSETLEFTBIT);}
1740
    : PARSEOP_FINDSETLEFTBIT '('	{$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETLEFTBIT);}
1741
        TermArg
1741
        TermArg
1742
        Target
1742
        Target
1743
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1743
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1746-1752 FindSetLeftBitTerm Link Here
1746
    ;
1746
    ;
1747
1747
1748
FindSetRightBitTerm
1748
FindSetRightBitTerm
1749
    : PARSEOP_FINDSETRIGHTBIT '('	{$$ = TrCreateLeafNode (PARSEOP_FINDSETRIGHTBIT);}
1749
    : PARSEOP_FINDSETRIGHTBIT '('	{$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETRIGHTBIT);}
1750
        TermArg
1750
        TermArg
1751
        Target
1751
        Target
1752
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1752
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1755-1761 FindSetRightBitTerm Link Here
1755
    ;
1755
    ;
1756
1756
1757
FromBCDTerm
1757
FromBCDTerm
1758
    : PARSEOP_FROMBCD '('			{$$ = TrCreateLeafNode (PARSEOP_FROMBCD);}
1758
    : PARSEOP_FROMBCD '('			{$<n>$ = TrCreateLeafNode (PARSEOP_FROMBCD);}
1759
        TermArg
1759
        TermArg
1760
        Target
1760
        Target
1761
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1761
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1764-1770 FromBCDTerm Link Here
1764
    ;
1764
    ;
1765
1765
1766
IncTerm
1766
IncTerm
1767
    : PARSEOP_INCREMENT '('			{$$ = TrCreateLeafNode (PARSEOP_INCREMENT);}
1767
    : PARSEOP_INCREMENT '('			{$<n>$ = TrCreateLeafNode (PARSEOP_INCREMENT);}
1768
        SuperName
1768
        SuperName
1769
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1769
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1770
    | PARSEOP_INCREMENT '('
1770
    | PARSEOP_INCREMENT '('
Lines 1772-1778 IncTerm Link Here
1772
    ;
1772
    ;
1773
1773
1774
IndexTerm
1774
IndexTerm
1775
    : PARSEOP_INDEX '('				{$$ = TrCreateLeafNode (PARSEOP_INDEX);}
1775
    : PARSEOP_INDEX '('				{$<n>$ = TrCreateLeafNode (PARSEOP_INDEX);}
1776
        TermArg
1776
        TermArg
1777
        TermArgItem
1777
        TermArgItem
1778
        Target
1778
        Target
Lines 1782-1788 IndexTerm Link Here
1782
    ;
1782
    ;
1783
1783
1784
LAndTerm
1784
LAndTerm
1785
    : PARSEOP_LAND '('				{$$ = TrCreateLeafNode (PARSEOP_LAND);}
1785
    : PARSEOP_LAND '('				{$<n>$ = TrCreateLeafNode (PARSEOP_LAND);}
1786
        TermArg
1786
        TermArg
1787
        TermArgItem
1787
        TermArgItem
1788
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1788
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1791-1797 LAndTerm Link Here
1791
    ;
1791
    ;
1792
1792
1793
LEqualTerm
1793
LEqualTerm
1794
    : PARSEOP_LEQUAL '('			{$$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
1794
    : PARSEOP_LEQUAL '('			{$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
1795
        TermArg
1795
        TermArg
1796
        TermArgItem
1796
        TermArgItem
1797
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1797
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1800-1806 LEqualTerm Link Here
1800
    ;
1800
    ;
1801
1801
1802
LGreaterTerm
1802
LGreaterTerm
1803
    : PARSEOP_LGREATER '('			{$$ = TrCreateLeafNode (PARSEOP_LGREATER);}
1803
    : PARSEOP_LGREATER '('			{$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
1804
        TermArg
1804
        TermArg
1805
        TermArgItem
1805
        TermArgItem
1806
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1806
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1809-1815 LGreaterTerm Link Here
1809
    ;
1809
    ;
1810
1810
1811
LGreaterEqualTerm
1811
LGreaterEqualTerm
1812
    : PARSEOP_LGREATEREQUAL '('		{$$ = TrCreateLeafNode (PARSEOP_LLESS);}
1812
    : PARSEOP_LGREATEREQUAL '('		{$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
1813
        TermArg
1813
        TermArg
1814
        TermArgItem
1814
        TermArgItem
1815
        ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1, TrLinkChildren ($<n>3,2,$4,$5));}
1815
        ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1, TrLinkChildren ($<n>3,2,$4,$5));}
Lines 1818-1824 LGreaterEqualTerm Link Here
1818
    ;
1818
    ;
1819
1819
1820
LLessTerm
1820
LLessTerm
1821
    : PARSEOP_LLESS '('				{$$ = TrCreateLeafNode (PARSEOP_LLESS);}
1821
    : PARSEOP_LLESS '('				{$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
1822
        TermArg
1822
        TermArg
1823
        TermArgItem
1823
        TermArgItem
1824
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1824
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1827-1833 LLessTerm Link Here
1827
    ;
1827
    ;
1828
1828
1829
LLessEqualTerm
1829
LLessEqualTerm
1830
    : PARSEOP_LLESSEQUAL '('		{$$ = TrCreateLeafNode (PARSEOP_LGREATER);}
1830
    : PARSEOP_LLESSEQUAL '('		{$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
1831
        TermArg
1831
        TermArg
1832
        TermArgItem
1832
        TermArgItem
1833
        ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1, TrLinkChildren ($<n>3,2,$4,$5));}
1833
        ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1, TrLinkChildren ($<n>3,2,$4,$5));}
Lines 1836-1842 LLessEqualTerm Link Here
1836
    ;
1836
    ;
1837
1837
1838
LNotTerm
1838
LNotTerm
1839
    : PARSEOP_LNOT '('				{$$ = TrCreateLeafNode (PARSEOP_LNOT);}
1839
    : PARSEOP_LNOT '('				{$<n>$ = TrCreateLeafNode (PARSEOP_LNOT);}
1840
        TermArg
1840
        TermArg
1841
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1841
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1842
    | PARSEOP_LNOT '('
1842
    | PARSEOP_LNOT '('
Lines 1844-1850 LNotTerm Link Here
1844
    ;
1844
    ;
1845
1845
1846
LNotEqualTerm
1846
LNotEqualTerm
1847
    : PARSEOP_LNOTEQUAL '('			{$$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
1847
    : PARSEOP_LNOTEQUAL '('			{$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
1848
        TermArg
1848
        TermArg
1849
        TermArgItem
1849
        TermArgItem
1850
        ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1, TrLinkChildren ($<n>3,2,$4,$5));}
1850
        ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1, TrLinkChildren ($<n>3,2,$4,$5));}
Lines 1853-1859 LNotEqualTerm Link Here
1853
    ;
1853
    ;
1854
1854
1855
LoadTableTerm
1855
LoadTableTerm
1856
    : PARSEOP_LOADTABLE '('			{$$ = TrCreateLeafNode (PARSEOP_LOADTABLE);}
1856
    : PARSEOP_LOADTABLE '('			{$<n>$ = TrCreateLeafNode (PARSEOP_LOADTABLE);}
1857
        TermArg
1857
        TermArg
1858
        TermArgItem
1858
        TermArgItem
1859
        TermArgItem
1859
        TermArgItem
Lines 1866-1872 LoadTableTerm Link Here
1866
    ;
1866
    ;
1867
1867
1868
LOrTerm
1868
LOrTerm
1869
    : PARSEOP_LOR '('				{$$ = TrCreateLeafNode (PARSEOP_LOR);}
1869
    : PARSEOP_LOR '('				{$<n>$ = TrCreateLeafNode (PARSEOP_LOR);}
1870
        TermArg
1870
        TermArg
1871
        TermArgItem
1871
        TermArgItem
1872
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1872
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1875-1881 LOrTerm Link Here
1875
    ;
1875
    ;
1876
1876
1877
MatchTerm
1877
MatchTerm
1878
    : PARSEOP_MATCH '('				{$$ = TrCreateLeafNode (PARSEOP_MATCH);}
1878
    : PARSEOP_MATCH '('				{$<n>$ = TrCreateLeafNode (PARSEOP_MATCH);}
1879
        TermArg
1879
        TermArg
1880
        ',' MatchOpKeyword
1880
        ',' MatchOpKeyword
1881
        TermArgItem
1881
        TermArgItem
Lines 1888-1894 MatchTerm Link Here
1888
    ;
1888
    ;
1889
1889
1890
MidTerm
1890
MidTerm
1891
    : PARSEOP_MID '('				{$$ = TrCreateLeafNode (PARSEOP_MID);}
1891
    : PARSEOP_MID '('				{$<n>$ = TrCreateLeafNode (PARSEOP_MID);}
1892
        TermArg
1892
        TermArg
1893
        TermArgItem
1893
        TermArgItem
1894
        TermArgItem
1894
        TermArgItem
Lines 1899-1905 MidTerm Link Here
1899
    ;
1899
    ;
1900
1900
1901
ModTerm
1901
ModTerm
1902
    : PARSEOP_MOD '('				{$$ = TrCreateLeafNode (PARSEOP_MOD);}
1902
    : PARSEOP_MOD '('				{$<n>$ = TrCreateLeafNode (PARSEOP_MOD);}
1903
        TermArg
1903
        TermArg
1904
        TermArgItem
1904
        TermArgItem
1905
        Target
1905
        Target
Lines 1909-1915 ModTerm Link Here
1909
    ;
1909
    ;
1910
1910
1911
MultiplyTerm
1911
MultiplyTerm
1912
    : PARSEOP_MULTIPLY '('			{$$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
1912
    : PARSEOP_MULTIPLY '('			{$<n>$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
1913
        TermArg
1913
        TermArg
1914
        TermArgItem
1914
        TermArgItem
1915
        Target
1915
        Target
Lines 1919-1925 MultiplyTerm Link Here
1919
    ;
1919
    ;
1920
1920
1921
NAndTerm
1921
NAndTerm
1922
    : PARSEOP_NAND '('				{$$ = TrCreateLeafNode (PARSEOP_NAND);}
1922
    : PARSEOP_NAND '('				{$<n>$ = TrCreateLeafNode (PARSEOP_NAND);}
1923
        TermArg
1923
        TermArg
1924
        TermArgItem
1924
        TermArgItem
1925
        Target
1925
        Target
Lines 1929-1935 NAndTerm Link Here
1929
    ;
1929
    ;
1930
1930
1931
NOrTerm
1931
NOrTerm
1932
    : PARSEOP_NOR '('				{$$ = TrCreateLeafNode (PARSEOP_NOR);}
1932
    : PARSEOP_NOR '('				{$<n>$ = TrCreateLeafNode (PARSEOP_NOR);}
1933
        TermArg
1933
        TermArg
1934
        TermArgItem
1934
        TermArgItem
1935
        Target
1935
        Target
Lines 1939-1945 NOrTerm Link Here
1939
    ;
1939
    ;
1940
1940
1941
NotTerm
1941
NotTerm
1942
    : PARSEOP_NOT '('				{$$ = TrCreateLeafNode (PARSEOP_NOT);}
1942
    : PARSEOP_NOT '('				{$<n>$ = TrCreateLeafNode (PARSEOP_NOT);}
1943
        TermArg
1943
        TermArg
1944
        Target
1944
        Target
1945
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
1945
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 1948-1954 NotTerm Link Here
1948
    ;
1948
    ;
1949
1949
1950
ObjectTypeTerm
1950
ObjectTypeTerm
1951
    : PARSEOP_OBJECTTYPE '('		{$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE);}
1951
    : PARSEOP_OBJECTTYPE '('		{$<n>$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE);}
1952
        SuperName
1952
        SuperName
1953
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1953
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
1954
    | PARSEOP_OBJECTTYPE '('
1954
    | PARSEOP_OBJECTTYPE '('
Lines 1956-1962 ObjectTypeTerm Link Here
1956
    ;
1956
    ;
1957
1957
1958
OrTerm
1958
OrTerm
1959
    : PARSEOP_OR '('				{$$ = TrCreateLeafNode (PARSEOP_OR);}
1959
    : PARSEOP_OR '('				{$<n>$ = TrCreateLeafNode (PARSEOP_OR);}
1960
        TermArg
1960
        TermArg
1961
        TermArgItem
1961
        TermArgItem
1962
        Target
1962
        Target
Lines 1970-1976 OrTerm Link Here
1970
 * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.)
1970
 * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.)
1971
 */
1971
 */
1972
RefOfTerm
1972
RefOfTerm
1973
    : PARSEOP_REFOF '('				{$$ = TrCreateLeafNode (PARSEOP_REFOF);}
1973
    : PARSEOP_REFOF '('				{$<n>$ = TrCreateLeafNode (PARSEOP_REFOF);}
1974
        SuperName
1974
        SuperName
1975
        ')'                         {$$ = TrLinkChildren ($<n>3,1,TrSetNodeFlags ($4, NODE_IS_TARGET));}
1975
        ')'                         {$$ = TrLinkChildren ($<n>3,1,TrSetNodeFlags ($4, NODE_IS_TARGET));}
1976
    | PARSEOP_REFOF '('
1976
    | PARSEOP_REFOF '('
Lines 1978-1984 RefOfTerm Link Here
1978
    ;
1978
    ;
1979
1979
1980
ShiftLeftTerm
1980
ShiftLeftTerm
1981
    : PARSEOP_SHIFTLEFT '('			{$$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
1981
    : PARSEOP_SHIFTLEFT '('			{$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
1982
        TermArg
1982
        TermArg
1983
        TermArgItem
1983
        TermArgItem
1984
        Target
1984
        Target
Lines 1988-1994 ShiftLeftTerm Link Here
1988
    ;
1988
    ;
1989
1989
1990
ShiftRightTerm
1990
ShiftRightTerm
1991
    : PARSEOP_SHIFTRIGHT '('		{$$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
1991
    : PARSEOP_SHIFTRIGHT '('		{$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
1992
        TermArg
1992
        TermArg
1993
        TermArgItem
1993
        TermArgItem
1994
        Target
1994
        Target
Lines 1998-2004 ShiftRightTerm Link Here
1998
    ;
1998
    ;
1999
1999
2000
SizeOfTerm
2000
SizeOfTerm
2001
    : PARSEOP_SIZEOF '('			{$$ = TrCreateLeafNode (PARSEOP_SIZEOF);}
2001
    : PARSEOP_SIZEOF '('			{$<n>$ = TrCreateLeafNode (PARSEOP_SIZEOF);}
2002
        SuperName
2002
        SuperName
2003
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
2003
        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
2004
    | PARSEOP_SIZEOF '('
2004
    | PARSEOP_SIZEOF '('
Lines 2006-2012 SizeOfTerm Link Here
2006
    ;
2006
    ;
2007
2007
2008
StoreTerm
2008
StoreTerm
2009
    : PARSEOP_STORE '('				{$$ = TrCreateLeafNode (PARSEOP_STORE);}
2009
    : PARSEOP_STORE '('				{$<n>$ = TrCreateLeafNode (PARSEOP_STORE);}
2010
        TermArg
2010
        TermArg
2011
        ',' SuperName
2011
        ',' SuperName
2012
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,TrSetNodeFlags ($6, NODE_IS_TARGET));}
2012
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,TrSetNodeFlags ($6, NODE_IS_TARGET));}
Lines 2015-2021 StoreTerm Link Here
2015
    ;
2015
    ;
2016
2016
2017
SubtractTerm
2017
SubtractTerm
2018
    : PARSEOP_SUBTRACT '('			{$$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
2018
    : PARSEOP_SUBTRACT '('			{$<n>$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
2019
        TermArg
2019
        TermArg
2020
        TermArgItem
2020
        TermArgItem
2021
        Target
2021
        Target
Lines 2025-2031 SubtractTerm Link Here
2025
    ;
2025
    ;
2026
2026
2027
TimerTerm
2027
TimerTerm
2028
    : PARSEOP_TIMER '('			    {$$ = TrCreateLeafNode (PARSEOP_TIMER);}
2028
    : PARSEOP_TIMER '('			    {$<n>$ = TrCreateLeafNode (PARSEOP_TIMER);}
2029
        ')'                         {$$ = TrLinkChildren ($<n>3,0);}
2029
        ')'                         {$$ = TrLinkChildren ($<n>3,0);}
2030
    | PARSEOP_TIMER		            {$$ = TrLinkChildren (TrCreateLeafNode (PARSEOP_TIMER),0);}
2030
    | PARSEOP_TIMER		            {$$ = TrLinkChildren (TrCreateLeafNode (PARSEOP_TIMER),0);}
2031
    | PARSEOP_TIMER '('
2031
    | PARSEOP_TIMER '('
Lines 2033-2039 TimerTerm Link Here
2033
    ;
2033
    ;
2034
2034
2035
ToBCDTerm
2035
ToBCDTerm
2036
    : PARSEOP_TOBCD '('				{$$ = TrCreateLeafNode (PARSEOP_TOBCD);}
2036
    : PARSEOP_TOBCD '('				{$<n>$ = TrCreateLeafNode (PARSEOP_TOBCD);}
2037
        TermArg
2037
        TermArg
2038
        Target
2038
        Target
2039
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
2039
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 2042-2048 ToBCDTerm Link Here
2042
    ;
2042
    ;
2043
2043
2044
ToBufferTerm
2044
ToBufferTerm
2045
    : PARSEOP_TOBUFFER '('			{$$ = TrCreateLeafNode (PARSEOP_TOBUFFER);}
2045
    : PARSEOP_TOBUFFER '('			{$<n>$ = TrCreateLeafNode (PARSEOP_TOBUFFER);}
2046
        TermArg
2046
        TermArg
2047
        Target
2047
        Target
2048
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
2048
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 2051-2057 ToBufferTerm Link Here
2051
    ;
2051
    ;
2052
2052
2053
ToDecimalStringTerm
2053
ToDecimalStringTerm
2054
    : PARSEOP_TODECIMALSTRING '('	{$$ = TrCreateLeafNode (PARSEOP_TODECIMALSTRING);}
2054
    : PARSEOP_TODECIMALSTRING '('	{$<n>$ = TrCreateLeafNode (PARSEOP_TODECIMALSTRING);}
2055
        TermArg
2055
        TermArg
2056
        Target
2056
        Target
2057
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
2057
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 2060-2066 ToDecimalStringTerm Link Here
2060
    ;
2060
    ;
2061
2061
2062
ToHexStringTerm
2062
ToHexStringTerm
2063
    : PARSEOP_TOHEXSTRING '('		{$$ = TrCreateLeafNode (PARSEOP_TOHEXSTRING);}
2063
    : PARSEOP_TOHEXSTRING '('		{$<n>$ = TrCreateLeafNode (PARSEOP_TOHEXSTRING);}
2064
        TermArg
2064
        TermArg
2065
        Target
2065
        Target
2066
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
2066
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 2069-2075 ToHexStringTerm Link Here
2069
    ;
2069
    ;
2070
2070
2071
ToIntegerTerm
2071
ToIntegerTerm
2072
    : PARSEOP_TOINTEGER '('			{$$ = TrCreateLeafNode (PARSEOP_TOINTEGER);}
2072
    : PARSEOP_TOINTEGER '('			{$<n>$ = TrCreateLeafNode (PARSEOP_TOINTEGER);}
2073
        TermArg
2073
        TermArg
2074
        Target
2074
        Target
2075
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
2075
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 2078-2084 ToIntegerTerm Link Here
2078
    ;
2078
    ;
2079
2079
2080
ToStringTerm
2080
ToStringTerm
2081
    : PARSEOP_TOSTRING '('			{$$ = TrCreateLeafNode (PARSEOP_TOSTRING);}
2081
    : PARSEOP_TOSTRING '('			{$<n>$ = TrCreateLeafNode (PARSEOP_TOSTRING);}
2082
        TermArg
2082
        TermArg
2083
        OptionalCount
2083
        OptionalCount
2084
        Target
2084
        Target
Lines 2095-2101 ToUUIDTerm Link Here
2095
    ;
2095
    ;
2096
2096
2097
WaitTerm
2097
WaitTerm
2098
    : PARSEOP_WAIT '('				{$$ = TrCreateLeafNode (PARSEOP_WAIT);}
2098
    : PARSEOP_WAIT '('				{$<n>$ = TrCreateLeafNode (PARSEOP_WAIT);}
2099
        SuperName
2099
        SuperName
2100
        TermArgItem
2100
        TermArgItem
2101
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
2101
        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
Lines 2104-2110 WaitTerm Link Here
2104
    ;
2104
    ;
2105
2105
2106
XOrTerm
2106
XOrTerm
2107
    : PARSEOP_XOR '('				{$$ = TrCreateLeafNode (PARSEOP_XOR);}
2107
    : PARSEOP_XOR '('				{$<n>$ = TrCreateLeafNode (PARSEOP_XOR);}
2108
        TermArg
2108
        TermArg
2109
        TermArgItem
2109
        TermArgItem
2110
        Target
2110
        Target
Lines 2399-2405 OptionalCount Link Here
2399
2399
2400
2400
2401
BufferTerm
2401
BufferTerm
2402
    : PARSEOP_BUFFER '('            {$$ = TrCreateLeafNode (PARSEOP_BUFFER);}
2402
    : PARSEOP_BUFFER '('            {$<n>$ = TrCreateLeafNode (PARSEOP_BUFFER);}
2403
        OptionalTermArg
2403
        OptionalTermArg
2404
        ')' '{'
2404
        ')' '{'
2405
            BufferTermData '}'      {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
2405
            BufferTermData '}'      {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
Lines 2429-2435 DWordList Link Here
2429
    ;
2429
    ;
2430
2430
2431
PackageTerm
2431
PackageTerm
2432
    : PARSEOP_PACKAGE '('           {$$ = TrCreateLeafNode (PARSEOP_VAR_PACKAGE);}
2432
    : PARSEOP_PACKAGE '('           {$<n>$ = TrCreateLeafNode (PARSEOP_VAR_PACKAGE);}
2433
        VarPackageLengthTerm
2433
        VarPackageLengthTerm
2434
        ')' '{'
2434
        ')' '{'
2435
            PackageList '}'         {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
2435
            PackageList '}'         {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
Lines 2481-2487 ResourceTemplateTerm Link Here
2481
    ;
2481
    ;
2482
2482
2483
UnicodeTerm
2483
UnicodeTerm
2484
    : PARSEOP_UNICODE '('           {$$ = TrCreateLeafNode (PARSEOP_UNICODE);}
2484
    : PARSEOP_UNICODE '('           {$<n>$ = TrCreateLeafNode (PARSEOP_UNICODE);}
2485
        StringData
2485
        StringData
2486
        ')'                         {$$ = TrLinkChildren ($<n>3,2,0,$4);}
2486
        ')'                         {$$ = TrLinkChildren ($<n>3,2,0,$4);}
2487
    | PARSEOP_UNICODE '('
2487
    | PARSEOP_UNICODE '('
Lines 2525-2531 ResourceMacroTerm Link Here
2525
    ;
2525
    ;
2526
2526
2527
DMATerm
2527
DMATerm
2528
    : PARSEOP_DMA '('               {$$ = TrCreateLeafNode (PARSEOP_DMA);}
2528
    : PARSEOP_DMA '('               {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);}
2529
        DMATypeKeyword
2529
        DMATypeKeyword
2530
        OptionalBusMasterKeyword
2530
        OptionalBusMasterKeyword
2531
        ',' XferTypeKeyword
2531
        ',' XferTypeKeyword
Lines 2537-2543 DMATerm Link Here
2537
    ;
2537
    ;
2538
2538
2539
DWordIOTerm
2539
DWordIOTerm
2540
    : PARSEOP_DWORDIO '('           {$$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
2540
    : PARSEOP_DWORDIO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
2541
        OptionalResourceType_First
2541
        OptionalResourceType_First
2542
        OptionalMinType
2542
        OptionalMinType
2543
        OptionalMaxType
2543
        OptionalMaxType
Lines 2559-2565 DWordIOTerm Link Here
2559
    ;
2559
    ;
2560
2560
2561
DWordMemoryTerm
2561
DWordMemoryTerm
2562
    : PARSEOP_DWORDMEMORY '('       {$$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
2562
    : PARSEOP_DWORDMEMORY '('       {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
2563
        OptionalResourceType_First
2563
        OptionalResourceType_First
2564
        OptionalDecodeType
2564
        OptionalDecodeType
2565
        OptionalMinType
2565
        OptionalMinType
Lines 2582-2588 DWordMemoryTerm Link Here
2582
    ;
2582
    ;
2583
2583
2584
DWordSpaceTerm
2584
DWordSpaceTerm
2585
    : PARSEOP_DWORDSPACE '('        {$$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
2585
    : PARSEOP_DWORDSPACE '('        {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
2586
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
2586
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
2587
        OptionalResourceType
2587
        OptionalResourceType
2588
        OptionalDecodeType
2588
        OptionalDecodeType
Lines 2611-2617 EndDependentFnTerm Link Here
2611
    ;
2611
    ;
2612
2612
2613
ExtendedIOTerm
2613
ExtendedIOTerm
2614
    : PARSEOP_EXTENDEDIO '('        {$$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
2614
    : PARSEOP_EXTENDEDIO '('        {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
2615
        OptionalResourceType_First
2615
        OptionalResourceType_First
2616
        OptionalMinType
2616
        OptionalMinType
2617
        OptionalMaxType
2617
        OptionalMaxType
Lines 2632-2638 ExtendedIOTerm Link Here
2632
    ;
2632
    ;
2633
2633
2634
ExtendedMemoryTerm
2634
ExtendedMemoryTerm
2635
    : PARSEOP_EXTENDEDMEMORY '('    {$$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
2635
    : PARSEOP_EXTENDEDMEMORY '('    {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
2636
        OptionalResourceType_First
2636
        OptionalResourceType_First
2637
        OptionalDecodeType
2637
        OptionalDecodeType
2638
        OptionalMinType
2638
        OptionalMinType
Lines 2654-2660 ExtendedMemoryTerm Link Here
2654
    ;
2654
    ;
2655
2655
2656
ExtendedSpaceTerm
2656
ExtendedSpaceTerm
2657
    : PARSEOP_EXTENDEDSPACE '('     {$$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
2657
    : PARSEOP_EXTENDEDSPACE '('     {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
2658
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
2658
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
2659
        OptionalResourceType
2659
        OptionalResourceType
2660
        OptionalDecodeType
2660
        OptionalDecodeType
Lines 2674-2680 ExtendedSpaceTerm Link Here
2674
    ;
2674
    ;
2675
2675
2676
FixedIOTerm
2676
FixedIOTerm
2677
    : PARSEOP_FIXEDIO '('           {$$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
2677
    : PARSEOP_FIXEDIO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
2678
        WordConstExpr
2678
        WordConstExpr
2679
        ',' ByteConstExpr
2679
        ',' ByteConstExpr
2680
        OptionalNameString_Last
2680
        OptionalNameString_Last
Lines 2684-2690 FixedIOTerm Link Here
2684
    ;
2684
    ;
2685
2685
2686
InterruptTerm
2686
InterruptTerm
2687
    : PARSEOP_INTERRUPT '('         {$$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
2687
    : PARSEOP_INTERRUPT '('         {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
2688
        OptionalResourceType_First
2688
        OptionalResourceType_First
2689
        ',' InterruptTypeKeyword
2689
        ',' InterruptTypeKeyword
2690
        ',' InterruptLevel
2690
        ',' InterruptLevel
Lines 2699-2705 InterruptTerm Link Here
2699
    ;
2699
    ;
2700
2700
2701
IOTerm
2701
IOTerm
2702
    : PARSEOP_IO '('                {$$ = TrCreateLeafNode (PARSEOP_IO);}
2702
    : PARSEOP_IO '('                {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
2703
        IODecodeKeyword
2703
        IODecodeKeyword
2704
        ',' WordConstExpr
2704
        ',' WordConstExpr
2705
        ',' WordConstExpr
2705
        ',' WordConstExpr
Lines 2712-2718 IOTerm Link Here
2712
    ;
2712
    ;
2713
2713
2714
IRQNoFlagsTerm
2714
IRQNoFlagsTerm
2715
    : PARSEOP_IRQNOFLAGS '('        {$$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
2715
    : PARSEOP_IRQNOFLAGS '('        {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
2716
        OptionalNameString_First
2716
        OptionalNameString_First
2717
        ')' '{'
2717
        ')' '{'
2718
            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
2718
            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
Lines 2721-2727 IRQNoFlagsTerm Link Here
2721
    ;
2721
    ;
2722
2722
2723
IRQTerm
2723
IRQTerm
2724
    : PARSEOP_IRQ '('               {$$ = TrCreateLeafNode (PARSEOP_IRQ);}
2724
    : PARSEOP_IRQ '('               {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);}
2725
        InterruptTypeKeyword
2725
        InterruptTypeKeyword
2726
        ',' InterruptLevel
2726
        ',' InterruptLevel
2727
        OptionalShareType
2727
        OptionalShareType
Lines 2733-2739 IRQTerm Link Here
2733
    ;
2733
    ;
2734
2734
2735
Memory24Term
2735
Memory24Term
2736
    : PARSEOP_MEMORY24 '('          {$$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
2736
    : PARSEOP_MEMORY24 '('          {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
2737
        OptionalReadWriteKeyword
2737
        OptionalReadWriteKeyword
2738
        ',' WordConstExpr
2738
        ',' WordConstExpr
2739
        ',' WordConstExpr
2739
        ',' WordConstExpr
Lines 2746-2752 Memory24Term Link Here
2746
    ;
2746
    ;
2747
2747
2748
Memory32FixedTerm
2748
Memory32FixedTerm
2749
    : PARSEOP_MEMORY32FIXED '('     {$$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
2749
    : PARSEOP_MEMORY32FIXED '('     {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
2750
        OptionalReadWriteKeyword
2750
        OptionalReadWriteKeyword
2751
        ',' DWordConstExpr
2751
        ',' DWordConstExpr
2752
        ',' DWordConstExpr
2752
        ',' DWordConstExpr
Lines 2757-2763 Memory32FixedTerm Link Here
2757
    ;
2757
    ;
2758
2758
2759
Memory32Term
2759
Memory32Term
2760
    : PARSEOP_MEMORY32 '('          {$$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
2760
    : PARSEOP_MEMORY32 '('          {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
2761
        OptionalReadWriteKeyword
2761
        OptionalReadWriteKeyword
2762
        ',' DWordConstExpr
2762
        ',' DWordConstExpr
2763
        ',' DWordConstExpr
2763
        ',' DWordConstExpr
Lines 2770-2776 Memory32Term Link Here
2770
    ;
2770
    ;
2771
2771
2772
QWordIOTerm
2772
QWordIOTerm
2773
    : PARSEOP_QWORDIO '('           {$$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
2773
    : PARSEOP_QWORDIO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
2774
        OptionalResourceType_First
2774
        OptionalResourceType_First
2775
        OptionalMinType
2775
        OptionalMinType
2776
        OptionalMaxType
2776
        OptionalMaxType
Lines 2792-2798 QWordIOTerm Link Here
2792
    ;
2792
    ;
2793
2793
2794
QWordMemoryTerm
2794
QWordMemoryTerm
2795
    : PARSEOP_QWORDMEMORY '('       {$$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
2795
    : PARSEOP_QWORDMEMORY '('       {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
2796
        OptionalResourceType_First
2796
        OptionalResourceType_First
2797
        OptionalDecodeType
2797
        OptionalDecodeType
2798
        OptionalMinType
2798
        OptionalMinType
Lines 2815-2821 QWordMemoryTerm Link Here
2815
    ;
2815
    ;
2816
2816
2817
QWordSpaceTerm
2817
QWordSpaceTerm
2818
    : PARSEOP_QWORDSPACE '('        {$$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
2818
    : PARSEOP_QWORDSPACE '('        {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
2819
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
2819
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
2820
        OptionalResourceType
2820
        OptionalResourceType
2821
        OptionalDecodeType
2821
        OptionalDecodeType
Lines 2836-2842 QWordSpaceTerm Link Here
2836
    ;
2836
    ;
2837
2837
2838
RegisterTerm
2838
RegisterTerm
2839
    : PARSEOP_REGISTER '('          {$$ = TrCreateLeafNode (PARSEOP_REGISTER);}
2839
    : PARSEOP_REGISTER '('          {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
2840
        AddressSpaceKeyword
2840
        AddressSpaceKeyword
2841
        ',' ByteConstExpr
2841
        ',' ByteConstExpr
2842
        ',' ByteConstExpr
2842
        ',' ByteConstExpr
Lines 2849-2855 RegisterTerm Link Here
2849
    ;
2849
    ;
2850
2850
2851
StartDependentFnTerm
2851
StartDependentFnTerm
2852
    : PARSEOP_STARTDEPENDENTFN '('  {$$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
2852
    : PARSEOP_STARTDEPENDENTFN '('  {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
2853
        ByteConstExpr
2853
        ByteConstExpr
2854
        ',' ByteConstExpr
2854
        ',' ByteConstExpr
2855
        ')' '{'
2855
        ')' '{'
Lines 2859-2865 StartDependentFnTerm Link Here
2859
    ;
2859
    ;
2860
2860
2861
StartDependentFnNoPriTerm
2861
StartDependentFnNoPriTerm
2862
    : PARSEOP_STARTDEPENDENTFN_NOPRI '('    {$$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
2862
    : PARSEOP_STARTDEPENDENTFN_NOPRI '('    {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
2863
        ')' '{'
2863
        ')' '{'
2864
        ResourceMacroList '}'       {$$ = TrLinkChildren ($<n>3,1,$6);}
2864
        ResourceMacroList '}'       {$$ = TrLinkChildren ($<n>3,1,$6);}
2865
    | PARSEOP_STARTDEPENDENTFN_NOPRI '('
2865
    | PARSEOP_STARTDEPENDENTFN_NOPRI '('
Lines 2867-2873 StartDependentFnNoPriTerm Link Here
2867
    ;
2867
    ;
2868
2868
2869
VendorLongTerm
2869
VendorLongTerm
2870
    : PARSEOP_VENDORLONG '('        {$$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
2870
    : PARSEOP_VENDORLONG '('        {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
2871
        OptionalNameString_First
2871
        OptionalNameString_First
2872
        ')' '{'
2872
        ')' '{'
2873
            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
2873
            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
Lines 2876-2882 VendorLongTerm Link Here
2876
    ;
2876
    ;
2877
2877
2878
VendorShortTerm
2878
VendorShortTerm
2879
    : PARSEOP_VENDORSHORT '('       {$$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
2879
    : PARSEOP_VENDORSHORT '('       {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
2880
        OptionalNameString_First
2880
        OptionalNameString_First
2881
        ')' '{'
2881
        ')' '{'
2882
            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
2882
            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
Lines 2885-2891 VendorShortTerm Link Here
2885
    ;
2885
    ;
2886
2886
2887
WordBusNumberTerm
2887
WordBusNumberTerm
2888
    : PARSEOP_WORDBUSNUMBER '('     {$$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
2888
    : PARSEOP_WORDBUSNUMBER '('     {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
2889
        OptionalResourceType_First
2889
        OptionalResourceType_First
2890
        OptionalMinType
2890
        OptionalMinType
2891
        OptionalMaxType
2891
        OptionalMaxType
Lines 2904-2910 WordBusNumberTerm Link Here
2904
    ;
2904
    ;
2905
2905
2906
WordIOTerm
2906
WordIOTerm
2907
    : PARSEOP_WORDIO '('            {$$ = TrCreateLeafNode (PARSEOP_WORDIO);}
2907
    : PARSEOP_WORDIO '('            {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
2908
        OptionalResourceType_First
2908
        OptionalResourceType_First
2909
        OptionalMinType
2909
        OptionalMinType
2910
        OptionalMaxType
2910
        OptionalMaxType
Lines 2926-2932 WordIOTerm Link Here
2926
    ;
2926
    ;
2927
2927
2928
WordSpaceTerm
2928
WordSpaceTerm
2929
    : PARSEOP_WORDSPACE '('         {$$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
2929
    : PARSEOP_WORDSPACE '('         {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
2930
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
2930
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
2931
        OptionalResourceType
2931
        OptionalResourceType
2932
        OptionalDecodeType
2932
        OptionalDecodeType

Return to bug 246196