1d0e1da26Schristos NoEcho(' 2d0e1da26Schristos /****************************************************************************** 3d0e1da26Schristos * 4d0e1da26Schristos * Module Name: aslprimaries.y - Rules for primary ASL operators 5835858a6Schristos * - Keep this file synched with the 6835858a6Schristos * CvParseOpBlockType function in cvcompiler.c 7d0e1da26Schristos * 8d0e1da26Schristos *****************************************************************************/ 9d0e1da26Schristos 10d0e1da26Schristos /* 11*046a2985Schristos * Copyright (C) 2000 - 2023, Intel Corp. 12d0e1da26Schristos * All rights reserved. 13d0e1da26Schristos * 14d0e1da26Schristos * Redistribution and use in source and binary forms, with or without 15d0e1da26Schristos * modification, are permitted provided that the following conditions 16d0e1da26Schristos * are met: 17d0e1da26Schristos * 1. Redistributions of source code must retain the above copyright 18d0e1da26Schristos * notice, this list of conditions, and the following disclaimer, 19d0e1da26Schristos * without modification. 20d0e1da26Schristos * 2. Redistributions in binary form must reproduce at minimum a disclaimer 21d0e1da26Schristos * substantially similar to the "NO WARRANTY" disclaimer below 22d0e1da26Schristos * ("Disclaimer") and any redistribution must be conditioned upon 23d0e1da26Schristos * including a substantially similar Disclaimer requirement for further 24d0e1da26Schristos * binary redistribution. 25d0e1da26Schristos * 3. Neither the names of the above-listed copyright holders nor the names 26d0e1da26Schristos * of any contributors may be used to endorse or promote products derived 27d0e1da26Schristos * from this software without specific prior written permission. 28d0e1da26Schristos * 29d0e1da26Schristos * Alternatively, this software may be distributed under the terms of the 30d0e1da26Schristos * GNU General Public License ("GPL") version 2 as published by the Free 31d0e1da26Schristos * Software Foundation. 32d0e1da26Schristos * 33d0e1da26Schristos * NO WARRANTY 34d0e1da26Schristos * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 35d0e1da26Schristos * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 3646a330b4Schristos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 37d0e1da26Schristos * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 38d0e1da26Schristos * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 39d0e1da26Schristos * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 40d0e1da26Schristos * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 41d0e1da26Schristos * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 42d0e1da26Schristos * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 43d0e1da26Schristos * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 44d0e1da26Schristos * POSSIBILITY OF SUCH DAMAGES. 45d0e1da26Schristos */ 46d0e1da26Schristos 47d0e1da26Schristos ') 48d0e1da26Schristos 49d0e1da26Schristos 50d0e1da26Schristos /******************************************************************************* 51d0e1da26Schristos * 52d0e1da26Schristos * ASL Primary Terms 53d0e1da26Schristos * 54d0e1da26Schristos ******************************************************************************/ 55d0e1da26Schristos 56d0e1da26Schristos AccessAsTerm 570b89cdedSchristos : PARSEOP_ACCESSAS 580b89cdedSchristos PARSEOP_OPEN_PAREN 59d0e1da26Schristos AccessTypeKeyword 60d0e1da26Schristos OptionalAccessAttribTerm 6189b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_ACCESSAS,2,$3,$4);} 620b89cdedSchristos | PARSEOP_ACCESSAS 630b89cdedSchristos PARSEOP_OPEN_PAREN 640b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 65d0e1da26Schristos ; 66d0e1da26Schristos 67d0e1da26Schristos AcquireTerm 680b89cdedSchristos : PARSEOP_ACQUIRE 6989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp(PARSEOP_ACQUIRE);} 70d0e1da26Schristos SuperName 71d0e1da26Schristos ',' WordConstExpr 7289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$6);} 730b89cdedSchristos | PARSEOP_ACQUIRE 740b89cdedSchristos PARSEOP_OPEN_PAREN 750b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 76d0e1da26Schristos ; 77d0e1da26Schristos 78d0e1da26Schristos AddTerm 790b89cdedSchristos : PARSEOP_ADD 8089b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_ADD);} 81d0e1da26Schristos TermArg 82d0e1da26Schristos TermArgItem 83d0e1da26Schristos Target 8489b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 850b89cdedSchristos | PARSEOP_ADD 860b89cdedSchristos PARSEOP_OPEN_PAREN 870b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 88d0e1da26Schristos ; 89d0e1da26Schristos 90d0e1da26Schristos AliasTerm 910b89cdedSchristos : PARSEOP_ALIAS 9289b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_ALIAS);} 93d0e1da26Schristos NameString 94d0e1da26Schristos NameStringItem 9589b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4, 9689b8eb6cSchristos TrSetOpFlags ($5, OP_IS_NAME_DECLARATION));} 970b89cdedSchristos | PARSEOP_ALIAS 980b89cdedSchristos PARSEOP_OPEN_PAREN 990b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 100d0e1da26Schristos ; 101d0e1da26Schristos 102d0e1da26Schristos AndTerm 1030b89cdedSchristos : PARSEOP_AND 10489b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_AND);} 105d0e1da26Schristos TermArg 106d0e1da26Schristos TermArgItem 107d0e1da26Schristos Target 10889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 1090b89cdedSchristos | PARSEOP_AND 1100b89cdedSchristos PARSEOP_OPEN_PAREN 1110b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 112d0e1da26Schristos ; 113d0e1da26Schristos 114d0e1da26Schristos ArgTerm 11589b8eb6cSchristos : PARSEOP_ARG0 {$$ = TrCreateLeafOp (PARSEOP_ARG0);} 11689b8eb6cSchristos | PARSEOP_ARG1 {$$ = TrCreateLeafOp (PARSEOP_ARG1);} 11789b8eb6cSchristos | PARSEOP_ARG2 {$$ = TrCreateLeafOp (PARSEOP_ARG2);} 11889b8eb6cSchristos | PARSEOP_ARG3 {$$ = TrCreateLeafOp (PARSEOP_ARG3);} 11989b8eb6cSchristos | PARSEOP_ARG4 {$$ = TrCreateLeafOp (PARSEOP_ARG4);} 12089b8eb6cSchristos | PARSEOP_ARG5 {$$ = TrCreateLeafOp (PARSEOP_ARG5);} 12189b8eb6cSchristos | PARSEOP_ARG6 {$$ = TrCreateLeafOp (PARSEOP_ARG6);} 122d0e1da26Schristos ; 123d0e1da26Schristos 124d0e1da26Schristos BankFieldTerm 1250b89cdedSchristos : PARSEOP_BANKFIELD 12689b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_BANKFIELD);} 127d0e1da26Schristos NameString 128d0e1da26Schristos NameStringItem 129d0e1da26Schristos TermArgItem 13047315524Schristos OptionalAccessTypeKeyword 13147315524Schristos OptionalLockRuleKeyword 13247315524Schristos OptionalUpdateRuleKeyword 1330b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 13489b8eb6cSchristos FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,7, 13547315524Schristos $4,$5,$6,$7,$8,$9,$12);} 1360b89cdedSchristos | PARSEOP_BANKFIELD 1370b89cdedSchristos PARSEOP_OPEN_PAREN 1380b89cdedSchristos error PARSEOP_CLOSE_PAREN 1390b89cdedSchristos '{' error '}' {$$ = AslDoError(); yyclearin;} 140d0e1da26Schristos ; 141d0e1da26Schristos 142d0e1da26Schristos BreakTerm 14389b8eb6cSchristos : PARSEOP_BREAK {$$ = TrCreateOp (PARSEOP_BREAK, 0);} 144d0e1da26Schristos ; 145d0e1da26Schristos 146d0e1da26Schristos BreakPointTerm 14789b8eb6cSchristos : PARSEOP_BREAKPOINT {$$ = TrCreateOp (PARSEOP_BREAKPOINT, 0);} 148d0e1da26Schristos ; 149d0e1da26Schristos 150d0e1da26Schristos BufferTerm 15189b8eb6cSchristos : PARSEOP_BUFFER {$<n>$ = TrCreateLeafOp (PARSEOP_BUFFER); COMMENT_CAPTURE_OFF; } 152d0e1da26Schristos OptionalDataCount 15389b8eb6cSchristos '{' BufferTermData '}' {$$ = TrLinkOpChildren ($<n>2,2,$3,$5); COMMENT_CAPTURE_ON;} 154d0e1da26Schristos ; 155d0e1da26Schristos 156d0e1da26Schristos BufferTermData 157d0e1da26Schristos : ByteList {} 158d0e1da26Schristos | StringData {} 159d0e1da26Schristos ; 160d0e1da26Schristos 161d0e1da26Schristos CaseTerm 1620b89cdedSchristos : PARSEOP_CASE 16389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CASE);} 164d0e1da26Schristos DataObject 1650b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 16689b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 1670b89cdedSchristos | PARSEOP_CASE 1680b89cdedSchristos PARSEOP_OPEN_PAREN 1690b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 170d0e1da26Schristos ; 171d0e1da26Schristos 172d0e1da26Schristos ConcatTerm 1730b89cdedSchristos : PARSEOP_CONCATENATE 17489b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CONCATENATE);} 175d0e1da26Schristos TermArg 176d0e1da26Schristos TermArgItem 177d0e1da26Schristos Target 17889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 1790b89cdedSchristos | PARSEOP_CONCATENATE 1800b89cdedSchristos PARSEOP_OPEN_PAREN 1810b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 182d0e1da26Schristos ; 183d0e1da26Schristos 184d0e1da26Schristos ConcatResTerm 1850b89cdedSchristos : PARSEOP_CONCATENATERESTEMPLATE 18689b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp ( 187d0e1da26Schristos PARSEOP_CONCATENATERESTEMPLATE);} 188d0e1da26Schristos TermArg 189d0e1da26Schristos TermArgItem 190d0e1da26Schristos Target 19189b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 1920b89cdedSchristos | PARSEOP_CONCATENATERESTEMPLATE 1930b89cdedSchristos PARSEOP_OPEN_PAREN 1940b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1950b89cdedSchristos ; 1960b89cdedSchristos 1970b89cdedSchristos CondRefOfTerm 1980b89cdedSchristos : PARSEOP_CONDREFOF 19989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CONDREFOF);} 2000b89cdedSchristos CondRefOfSource 2010b89cdedSchristos Target 20289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 2030b89cdedSchristos | PARSEOP_CONDREFOF 2040b89cdedSchristos PARSEOP_OPEN_PAREN 2050b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 206d0e1da26Schristos ; 207d0e1da26Schristos 208d0e1da26Schristos ConnectionTerm 2090b89cdedSchristos : PARSEOP_CONNECTION 2100b89cdedSchristos PARSEOP_OPEN_PAREN 211d0e1da26Schristos NameString 21289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_CONNECTION,1,$3);} 2130b89cdedSchristos | PARSEOP_CONNECTION 21489b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CONNECTION);} 215d0e1da26Schristos ResourceMacroTerm 21689b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3, 1, 21789b8eb6cSchristos TrLinkOpChildren ( 21889b8eb6cSchristos TrCreateLeafOp (PARSEOP_RESOURCETEMPLATE), 3, 21989b8eb6cSchristos TrCreateLeafOp (PARSEOP_DEFAULT_ARG), 22089b8eb6cSchristos TrCreateLeafOp (PARSEOP_DEFAULT_ARG), 221d0e1da26Schristos $4));} 2220b89cdedSchristos | PARSEOP_CONNECTION 2230b89cdedSchristos PARSEOP_OPEN_PAREN 2240b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 225d0e1da26Schristos ; 226d0e1da26Schristos 227d0e1da26Schristos ContinueTerm 22889b8eb6cSchristos : PARSEOP_CONTINUE {$$ = TrCreateOp (PARSEOP_CONTINUE, 0);} 229d0e1da26Schristos ; 230d0e1da26Schristos 231d0e1da26Schristos CopyObjectTerm 2320b89cdedSchristos : PARSEOP_COPYOBJECT 23389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_COPYOBJECT);} 234d0e1da26Schristos TermArg 2350b89cdedSchristos ',' SimpleName 23689b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4, 23789b8eb6cSchristos TrSetOpFlags ($6, OP_IS_TARGET));} 2380b89cdedSchristos | PARSEOP_COPYOBJECT 2390b89cdedSchristos PARSEOP_OPEN_PAREN 2400b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 241d0e1da26Schristos ; 242d0e1da26Schristos 243d0e1da26Schristos CreateBitFieldTerm 2440b89cdedSchristos : PARSEOP_CREATEBITFIELD 24589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEBITFIELD);} 246d0e1da26Schristos TermArg 247d0e1da26Schristos TermArgItem 248d0e1da26Schristos NameStringItem 24989b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 25089b8eb6cSchristos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 2510b89cdedSchristos | PARSEOP_CREATEBITFIELD 2520b89cdedSchristos PARSEOP_OPEN_PAREN 2530b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 254d0e1da26Schristos ; 255d0e1da26Schristos 256d0e1da26Schristos CreateByteFieldTerm 2570b89cdedSchristos : PARSEOP_CREATEBYTEFIELD 25889b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEBYTEFIELD);} 259d0e1da26Schristos TermArg 260d0e1da26Schristos TermArgItem 261d0e1da26Schristos NameStringItem 26289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 26389b8eb6cSchristos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 2640b89cdedSchristos | PARSEOP_CREATEBYTEFIELD 2650b89cdedSchristos PARSEOP_OPEN_PAREN 2660b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 267d0e1da26Schristos ; 268d0e1da26Schristos 269d0e1da26Schristos CreateDWordFieldTerm 2700b89cdedSchristos : PARSEOP_CREATEDWORDFIELD 27189b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEDWORDFIELD);} 272d0e1da26Schristos TermArg 273d0e1da26Schristos TermArgItem 274d0e1da26Schristos NameStringItem 27589b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 27689b8eb6cSchristos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 2770b89cdedSchristos | PARSEOP_CREATEDWORDFIELD 2780b89cdedSchristos PARSEOP_OPEN_PAREN 2790b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 280d0e1da26Schristos ; 281d0e1da26Schristos 282d0e1da26Schristos CreateFieldTerm 2830b89cdedSchristos : PARSEOP_CREATEFIELD 28489b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEFIELD);} 285d0e1da26Schristos TermArg 286d0e1da26Schristos TermArgItem 287d0e1da26Schristos TermArgItem 288d0e1da26Schristos NameStringItem 28989b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6, 29089b8eb6cSchristos TrSetOpFlags ($7, OP_IS_NAME_DECLARATION));} 2910b89cdedSchristos | PARSEOP_CREATEFIELD 2920b89cdedSchristos PARSEOP_OPEN_PAREN 2930b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 294d0e1da26Schristos ; 295d0e1da26Schristos 296d0e1da26Schristos CreateQWordFieldTerm 2970b89cdedSchristos : PARSEOP_CREATEQWORDFIELD 29889b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEQWORDFIELD);} 299d0e1da26Schristos TermArg 300d0e1da26Schristos TermArgItem 301d0e1da26Schristos NameStringItem 30289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 30389b8eb6cSchristos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 3040b89cdedSchristos | PARSEOP_CREATEQWORDFIELD 3050b89cdedSchristos PARSEOP_OPEN_PAREN 3060b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 307d0e1da26Schristos ; 308d0e1da26Schristos 309d0e1da26Schristos CreateWordFieldTerm 3100b89cdedSchristos : PARSEOP_CREATEWORDFIELD 31189b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEWORDFIELD);} 312d0e1da26Schristos TermArg 313d0e1da26Schristos TermArgItem 314d0e1da26Schristos NameStringItem 31589b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5, 31689b8eb6cSchristos TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));} 3170b89cdedSchristos | PARSEOP_CREATEWORDFIELD 3180b89cdedSchristos PARSEOP_OPEN_PAREN 3190b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 320d0e1da26Schristos ; 321d0e1da26Schristos 322d0e1da26Schristos DataRegionTerm 3230b89cdedSchristos : PARSEOP_DATATABLEREGION 32489b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DATATABLEREGION);} 325d0e1da26Schristos NameString 326d0e1da26Schristos TermArgItem 327d0e1da26Schristos TermArgItem 328d0e1da26Schristos TermArgItem 32989b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4, 33089b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5,$6,$7);} 3310b89cdedSchristos | PARSEOP_DATATABLEREGION 3320b89cdedSchristos PARSEOP_OPEN_PAREN 3330b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 334d0e1da26Schristos ; 335d0e1da26Schristos 336d0e1da26Schristos DebugTerm 33789b8eb6cSchristos : PARSEOP_DEBUG {$$ = TrCreateLeafOp (PARSEOP_DEBUG);} 338d0e1da26Schristos ; 339d0e1da26Schristos 340d0e1da26Schristos DecTerm 3410b89cdedSchristos : PARSEOP_DECREMENT 34289b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DECREMENT);} 343d0e1da26Schristos SuperName 34489b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 3450b89cdedSchristos | PARSEOP_DECREMENT 3460b89cdedSchristos PARSEOP_OPEN_PAREN 3470b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 348d0e1da26Schristos ; 349d0e1da26Schristos 350d0e1da26Schristos DefaultTerm 35189b8eb6cSchristos : PARSEOP_DEFAULT '{' {$<n>$ = TrCreateLeafOp (PARSEOP_DEFAULT);} 35289b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,1,$4);} 353d0e1da26Schristos | PARSEOP_DEFAULT '{' 354d0e1da26Schristos error '}' {$$ = AslDoError(); yyclearin;} 355d0e1da26Schristos ; 356d0e1da26Schristos 357d0e1da26Schristos DerefOfTerm 3580b89cdedSchristos : PARSEOP_DEREFOF 35989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DEREFOF);} 3600b89cdedSchristos DerefOfSource 36189b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 3620b89cdedSchristos | PARSEOP_DEREFOF 3630b89cdedSchristos PARSEOP_OPEN_PAREN 3640b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 365d0e1da26Schristos ; 366d0e1da26Schristos 367d0e1da26Schristos DeviceTerm 3680b89cdedSchristos : PARSEOP_DEVICE 36989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DEVICE);} 370d0e1da26Schristos NameString 3710b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 37289b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2, 37389b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);} 3740b89cdedSchristos | PARSEOP_DEVICE 3750b89cdedSchristos PARSEOP_OPEN_PAREN 3760b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 377d0e1da26Schristos ; 378d0e1da26Schristos 379d0e1da26Schristos DivideTerm 3800b89cdedSchristos : PARSEOP_DIVIDE 38189b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DIVIDE);} 382d0e1da26Schristos TermArg 383d0e1da26Schristos TermArgItem 384d0e1da26Schristos Target 385d0e1da26Schristos Target 38689b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,$7);} 3870b89cdedSchristos | PARSEOP_DIVIDE 3880b89cdedSchristos PARSEOP_OPEN_PAREN 3890b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 390d0e1da26Schristos ; 391d0e1da26Schristos 392d0e1da26Schristos EISAIDTerm 3930b89cdedSchristos : PARSEOP_EISAID 3940b89cdedSchristos PARSEOP_OPEN_PAREN 395360a9019Schristos StringLiteral 39689b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrSetOpIntegerValue (PARSEOP_EISAID, $3);} 3970b89cdedSchristos | PARSEOP_EISAID 3980b89cdedSchristos PARSEOP_OPEN_PAREN 3990b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 400d0e1da26Schristos ; 401d0e1da26Schristos 402d0e1da26Schristos ElseIfTerm 40389b8eb6cSchristos : IfTerm ElseTerm {$$ = TrLinkPeerOp ($1,$2);} 404d0e1da26Schristos ; 405d0e1da26Schristos 406d0e1da26Schristos ElseTerm 407d0e1da26Schristos : {$$ = NULL;} 408835858a6Schristos | PARSEOP_ELSE '{' 40989b8eb6cSchristos TermList {$<n>$ = TrCreateLeafOp (PARSEOP_ELSE);} 41089b8eb6cSchristos '}' {$$ = TrLinkOpChildren ($<n>4,1,$3);} 411d0e1da26Schristos 412d0e1da26Schristos | PARSEOP_ELSE '{' 413d0e1da26Schristos error '}' {$$ = AslDoError(); yyclearin;} 414d0e1da26Schristos 415d0e1da26Schristos | PARSEOP_ELSE 416d0e1da26Schristos error {$$ = AslDoError(); yyclearin;} 417d0e1da26Schristos 4180b89cdedSchristos | PARSEOP_ELSEIF 41989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_ELSE);} 42089b8eb6cSchristos TermArg {$<n>$ = TrCreateLeafOp (PARSEOP_IF);} 4210b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 42289b8eb6cSchristos TermList '}' {TrLinkOpChildren ($<n>5,2,$4,$8);} 42389b8eb6cSchristos ElseTerm {TrLinkPeerOp ($<n>5,$11);} 42489b8eb6cSchristos {$$ = TrLinkOpChildren ($<n>3,1,$<n>5);} 425d0e1da26Schristos 4260b89cdedSchristos | PARSEOP_ELSEIF 4270b89cdedSchristos PARSEOP_OPEN_PAREN 4280b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 429d0e1da26Schristos 430d0e1da26Schristos | PARSEOP_ELSEIF 431d0e1da26Schristos error {$$ = AslDoError(); yyclearin;} 432d0e1da26Schristos ; 433d0e1da26Schristos 434d0e1da26Schristos EventTerm 4350b89cdedSchristos : PARSEOP_EVENT 43689b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_EVENT);} 437d0e1da26Schristos NameString 43889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1, 43989b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION));} 4400b89cdedSchristos | PARSEOP_EVENT 4410b89cdedSchristos PARSEOP_OPEN_PAREN 4420b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 443d0e1da26Schristos ; 444d0e1da26Schristos 445d0e1da26Schristos ExternalTerm 4460b89cdedSchristos : PARSEOP_EXTERNAL 4470b89cdedSchristos PARSEOP_OPEN_PAREN 448d0e1da26Schristos NameString 449d0e1da26Schristos OptionalObjectTypeKeyword 450d0e1da26Schristos OptionalParameterTypePackage 451d0e1da26Schristos OptionalParameterTypesPackage 45289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);} 4530b89cdedSchristos | PARSEOP_EXTERNAL 4540b89cdedSchristos PARSEOP_OPEN_PAREN 4550b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 456d0e1da26Schristos ; 457d0e1da26Schristos 458d0e1da26Schristos FatalTerm 4590b89cdedSchristos : PARSEOP_FATAL 46089b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FATAL);} 461d0e1da26Schristos ByteConstExpr 462d0e1da26Schristos ',' DWordConstExpr 463d0e1da26Schristos TermArgItem 46489b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);} 4650b89cdedSchristos | PARSEOP_FATAL 4660b89cdedSchristos PARSEOP_OPEN_PAREN 4670b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 468d0e1da26Schristos ; 469d0e1da26Schristos 470d0e1da26Schristos FieldTerm 4710b89cdedSchristos : PARSEOP_FIELD 47289b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIELD);} 473d0e1da26Schristos NameString 47447315524Schristos OptionalAccessTypeKeyword 47547315524Schristos OptionalLockRuleKeyword 47647315524Schristos OptionalUpdateRuleKeyword 4770b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 47847315524Schristos FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);} 4790b89cdedSchristos | PARSEOP_FIELD 4800b89cdedSchristos PARSEOP_OPEN_PAREN 4810b89cdedSchristos error PARSEOP_CLOSE_PAREN 4820b89cdedSchristos '{' error '}' {$$ = AslDoError(); yyclearin;} 483d0e1da26Schristos ; 484d0e1da26Schristos 485d0e1da26Schristos FindSetLeftBitTerm 4860b89cdedSchristos : PARSEOP_FINDSETLEFTBIT 48789b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FINDSETLEFTBIT);} 488d0e1da26Schristos TermArg 489d0e1da26Schristos Target 49089b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 4910b89cdedSchristos | PARSEOP_FINDSETLEFTBIT 4920b89cdedSchristos PARSEOP_OPEN_PAREN 4930b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 494d0e1da26Schristos ; 495d0e1da26Schristos 496d0e1da26Schristos FindSetRightBitTerm 4970b89cdedSchristos : PARSEOP_FINDSETRIGHTBIT 49889b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FINDSETRIGHTBIT);} 499d0e1da26Schristos TermArg 500d0e1da26Schristos Target 50189b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 5020b89cdedSchristos | PARSEOP_FINDSETRIGHTBIT 5030b89cdedSchristos PARSEOP_OPEN_PAREN 5040b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 505d0e1da26Schristos ; 506d0e1da26Schristos 507d0e1da26Schristos /* Convert a For() loop to a While() loop */ 508d0e1da26Schristos ForTerm 5090b89cdedSchristos : PARSEOP_FOR 51089b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WHILE);} 511d0e1da26Schristos OptionalTermArg ',' {} 512d0e1da26Schristos OptionalPredicate ',' 51389b8eb6cSchristos OptionalTermArg {$<n>$ = TrLinkPeerOp ($4,$<n>3); 51489b8eb6cSchristos TrSetOpParent ($9,$<n>3);} /* New parent is WHILE */ 5150b89cdedSchristos PARSEOP_CLOSE_PAREN 51689b8eb6cSchristos '{' TermList '}' {$<n>$ = TrLinkOpChildren ($<n>3,2,$7,$13);} 51789b8eb6cSchristos {$<n>$ = TrLinkPeerOp ($13,$9); 518d0e1da26Schristos $$ = $<n>10;} 519d0e1da26Schristos ; 520d0e1da26Schristos 521d0e1da26Schristos OptionalPredicate 52289b8eb6cSchristos : {$$ = TrCreateValuedLeafOp (PARSEOP_INTEGER, 1);} 523d0e1da26Schristos | TermArg {$$ = $1;} 524d0e1da26Schristos ; 525d0e1da26Schristos 526d0e1da26Schristos FprintfTerm 5270b89cdedSchristos : PARSEOP_FPRINTF 52889b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FPRINTF);} 529d0e1da26Schristos TermArg ',' 530360a9019Schristos StringLiteral 531d0e1da26Schristos PrintfArgList 53289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);} 5330b89cdedSchristos | PARSEOP_FPRINTF 5340b89cdedSchristos PARSEOP_OPEN_PAREN 5350b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 536d0e1da26Schristos ; 537d0e1da26Schristos 538d0e1da26Schristos FromBCDTerm 5390b89cdedSchristos : PARSEOP_FROMBCD 54089b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FROMBCD);} 541d0e1da26Schristos TermArg 542d0e1da26Schristos Target 54389b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 5440b89cdedSchristos | PARSEOP_FROMBCD 5450b89cdedSchristos PARSEOP_OPEN_PAREN 5460b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 547d0e1da26Schristos ; 548d0e1da26Schristos 549d0e1da26Schristos FunctionTerm 5500b89cdedSchristos : PARSEOP_FUNCTION 55189b8eb6cSchristos PARSEOP_OPEN_PAREN {COMMENT_CAPTURE_OFF; $<n>$ = TrCreateLeafOp (PARSEOP_METHOD); } 552d0e1da26Schristos NameString 553d0e1da26Schristos OptionalParameterTypePackage 554d0e1da26Schristos OptionalParameterTypesPackage 555835858a6Schristos PARSEOP_CLOSE_PAREN '{' {COMMENT_CAPTURE_ON; } 55689b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,7, 55789b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 5583fd31de5Schristos TrCreateLeafOp (PARSEOP_DEFAULT_ARG), 55989b8eb6cSchristos TrCreateLeafOp (PARSEOP_SERIALIZERULE_NOTSERIAL), 56089b8eb6cSchristos TrCreateValuedLeafOp (PARSEOP_BYTECONST, 0),$5,$6,$10);} 5610b89cdedSchristos | PARSEOP_FUNCTION 5620b89cdedSchristos PARSEOP_OPEN_PAREN 5630b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 564d0e1da26Schristos ; 565d0e1da26Schristos 566d0e1da26Schristos IfTerm 5670b89cdedSchristos : PARSEOP_IF 56889b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_IF);} 569d0e1da26Schristos TermArg 5700b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 57189b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 572d0e1da26Schristos 5730b89cdedSchristos | PARSEOP_IF 5740b89cdedSchristos PARSEOP_OPEN_PAREN 5750b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 576d0e1da26Schristos ; 577d0e1da26Schristos 578d0e1da26Schristos IncludeTerm 5790b89cdedSchristos : PARSEOP_INCLUDE 5800b89cdedSchristos PARSEOP_OPEN_PAREN 5810b89cdedSchristos String 58289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrSetOpIntegerValue (PARSEOP_INCLUDE, $3); 583d0e1da26Schristos FlOpenIncludeFile ($3);} 584d0e1da26Schristos ; 585d0e1da26Schristos 586d0e1da26Schristos IncludeEndTerm 58789b8eb6cSchristos : PARSEOP_INCLUDE_END {$<n>$ = TrCreateLeafOp (PARSEOP_INCLUDE_END); 58889b8eb6cSchristos TrSetOpCurrentFilename ($$);} 589d0e1da26Schristos ; 590d0e1da26Schristos 591d0e1da26Schristos IncTerm 5920b89cdedSchristos : PARSEOP_INCREMENT 59389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INCREMENT);} 594d0e1da26Schristos SuperName 59589b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 5960b89cdedSchristos | PARSEOP_INCREMENT 5970b89cdedSchristos PARSEOP_OPEN_PAREN 5980b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 599d0e1da26Schristos ; 600d0e1da26Schristos 601d0e1da26Schristos IndexFieldTerm 6020b89cdedSchristos : PARSEOP_INDEXFIELD 60389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INDEXFIELD);} 604d0e1da26Schristos NameString 605d0e1da26Schristos NameStringItem 60647315524Schristos OptionalAccessTypeKeyword 60747315524Schristos OptionalLockRuleKeyword 60847315524Schristos OptionalUpdateRuleKeyword 6090b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 61047315524Schristos FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$11);} 6110b89cdedSchristos | PARSEOP_INDEXFIELD 6120b89cdedSchristos PARSEOP_OPEN_PAREN 6130b89cdedSchristos error PARSEOP_CLOSE_PAREN 6140b89cdedSchristos '{' error '}' {$$ = AslDoError(); yyclearin;} 615d0e1da26Schristos ; 616d0e1da26Schristos 617d0e1da26Schristos IndexTerm 6180b89cdedSchristos : PARSEOP_INDEX 61989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INDEX);} 620d0e1da26Schristos TermArg 621d0e1da26Schristos TermArgItem 622d0e1da26Schristos Target 62389b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 6240b89cdedSchristos | PARSEOP_INDEX 6250b89cdedSchristos PARSEOP_OPEN_PAREN 6260b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 627d0e1da26Schristos ; 628d0e1da26Schristos 629d0e1da26Schristos LAndTerm 6300b89cdedSchristos : PARSEOP_LAND 63189b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LAND);} 632d0e1da26Schristos TermArg 633d0e1da26Schristos TermArgItem 63489b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 6350b89cdedSchristos | PARSEOP_LAND 6360b89cdedSchristos PARSEOP_OPEN_PAREN 6370b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 638d0e1da26Schristos ; 639d0e1da26Schristos 640d0e1da26Schristos LEqualTerm 6410b89cdedSchristos : PARSEOP_LEQUAL 64289b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LEQUAL);} 643d0e1da26Schristos TermArg 644d0e1da26Schristos TermArgItem 64589b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 6460b89cdedSchristos | PARSEOP_LEQUAL 6470b89cdedSchristos PARSEOP_OPEN_PAREN 6480b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 649d0e1da26Schristos ; 650d0e1da26Schristos 651d0e1da26Schristos LGreaterEqualTerm 6520b89cdedSchristos : PARSEOP_LGREATEREQUAL 65389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LLESS);} 654d0e1da26Schristos TermArg 655d0e1da26Schristos TermArgItem 65689b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_LNOT, 1, 65789b8eb6cSchristos TrLinkOpChildren ($<n>3,2,$4,$5));} 6580b89cdedSchristos | PARSEOP_LGREATEREQUAL 6590b89cdedSchristos PARSEOP_OPEN_PAREN 6600b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 661d0e1da26Schristos ; 662d0e1da26Schristos 663d0e1da26Schristos LGreaterTerm 6640b89cdedSchristos : PARSEOP_LGREATER 66589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LGREATER);} 666d0e1da26Schristos TermArg 667d0e1da26Schristos TermArgItem 66889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 6690b89cdedSchristos | PARSEOP_LGREATER 6700b89cdedSchristos PARSEOP_OPEN_PAREN 6710b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 672d0e1da26Schristos ; 673d0e1da26Schristos 674d0e1da26Schristos LLessEqualTerm 6750b89cdedSchristos : PARSEOP_LLESSEQUAL 67689b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LGREATER);} 677d0e1da26Schristos TermArg 678d0e1da26Schristos TermArgItem 67989b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_LNOT, 1, 68089b8eb6cSchristos TrLinkOpChildren ($<n>3,2,$4,$5));} 6810b89cdedSchristos | PARSEOP_LLESSEQUAL 6820b89cdedSchristos PARSEOP_OPEN_PAREN 6830b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 684d0e1da26Schristos ; 685d0e1da26Schristos 686d0e1da26Schristos LLessTerm 6870b89cdedSchristos : PARSEOP_LLESS 68889b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LLESS);} 689d0e1da26Schristos TermArg 690d0e1da26Schristos TermArgItem 69189b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 6920b89cdedSchristos | PARSEOP_LLESS 6930b89cdedSchristos PARSEOP_OPEN_PAREN 6940b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 695d0e1da26Schristos ; 696d0e1da26Schristos 697d0e1da26Schristos LNotEqualTerm 6980b89cdedSchristos : PARSEOP_LNOTEQUAL 69989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LEQUAL);} 700d0e1da26Schristos TermArg 701d0e1da26Schristos TermArgItem 70289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_LNOT, 1, 70389b8eb6cSchristos TrLinkOpChildren ($<n>3,2,$4,$5));} 7040b89cdedSchristos | PARSEOP_LNOTEQUAL 7050b89cdedSchristos PARSEOP_OPEN_PAREN 7060b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 707d0e1da26Schristos ; 708d0e1da26Schristos 709d0e1da26Schristos LNotTerm 7100b89cdedSchristos : PARSEOP_LNOT 71189b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LNOT);} 712d0e1da26Schristos TermArg 71389b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 7140b89cdedSchristos | PARSEOP_LNOT 7150b89cdedSchristos PARSEOP_OPEN_PAREN 7160b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 717d0e1da26Schristos ; 718d0e1da26Schristos 719d0e1da26Schristos LoadTableTerm 7200b89cdedSchristos : PARSEOP_LOADTABLE 72189b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOADTABLE);} 722d0e1da26Schristos TermArg 723d0e1da26Schristos TermArgItem 724d0e1da26Schristos TermArgItem 725d0e1da26Schristos OptionalListString 726d0e1da26Schristos OptionalListString 727d0e1da26Schristos OptionalReference 72889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$9);} 7290b89cdedSchristos | PARSEOP_LOADTABLE 7300b89cdedSchristos PARSEOP_OPEN_PAREN 7310b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 732d0e1da26Schristos ; 733d0e1da26Schristos 734d0e1da26Schristos LoadTerm 7350b89cdedSchristos : PARSEOP_LOAD 73689b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOAD);} 737d0e1da26Schristos NameString 7385b139df6Schristos Target 73989b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 7400b89cdedSchristos | PARSEOP_LOAD 7410b89cdedSchristos PARSEOP_OPEN_PAREN 7420b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 743d0e1da26Schristos ; 744d0e1da26Schristos 745d0e1da26Schristos LocalTerm 74689b8eb6cSchristos : PARSEOP_LOCAL0 {$$ = TrCreateLeafOp (PARSEOP_LOCAL0);} 74789b8eb6cSchristos | PARSEOP_LOCAL1 {$$ = TrCreateLeafOp (PARSEOP_LOCAL1);} 74889b8eb6cSchristos | PARSEOP_LOCAL2 {$$ = TrCreateLeafOp (PARSEOP_LOCAL2);} 74989b8eb6cSchristos | PARSEOP_LOCAL3 {$$ = TrCreateLeafOp (PARSEOP_LOCAL3);} 75089b8eb6cSchristos | PARSEOP_LOCAL4 {$$ = TrCreateLeafOp (PARSEOP_LOCAL4);} 75189b8eb6cSchristos | PARSEOP_LOCAL5 {$$ = TrCreateLeafOp (PARSEOP_LOCAL5);} 75289b8eb6cSchristos | PARSEOP_LOCAL6 {$$ = TrCreateLeafOp (PARSEOP_LOCAL6);} 75389b8eb6cSchristos | PARSEOP_LOCAL7 {$$ = TrCreateLeafOp (PARSEOP_LOCAL7);} 754d0e1da26Schristos ; 755d0e1da26Schristos 756d0e1da26Schristos LOrTerm 7570b89cdedSchristos : PARSEOP_LOR 75889b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOR);} 759d0e1da26Schristos TermArg 760d0e1da26Schristos TermArgItem 76189b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 7620b89cdedSchristos | PARSEOP_LOR 7630b89cdedSchristos PARSEOP_OPEN_PAREN 7640b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 765d0e1da26Schristos ; 766d0e1da26Schristos 767d0e1da26Schristos MatchTerm 7680b89cdedSchristos : PARSEOP_MATCH 76989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MATCH);} 770d0e1da26Schristos TermArg 771d0e1da26Schristos ',' MatchOpKeyword 772d0e1da26Schristos TermArgItem 773d0e1da26Schristos ',' MatchOpKeyword 774d0e1da26Schristos TermArgItem 775d0e1da26Schristos TermArgItem 77689b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$7,$9,$10,$11);} 7770b89cdedSchristos | PARSEOP_MATCH 7780b89cdedSchristos PARSEOP_OPEN_PAREN 7790b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 780d0e1da26Schristos ; 781d0e1da26Schristos 782d0e1da26Schristos MethodTerm 7830b89cdedSchristos : PARSEOP_METHOD 78489b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_METHOD); COMMENT_CAPTURE_OFF;} 785d0e1da26Schristos NameString 786d0e1da26Schristos OptionalByteConstExpr {UtCheckIntegerRange ($5, 0, 7);} 787d0e1da26Schristos OptionalSerializeRuleKeyword 788d0e1da26Schristos OptionalByteConstExpr 789d0e1da26Schristos OptionalParameterTypePackage 790d0e1da26Schristos OptionalParameterTypesPackage 791835858a6Schristos PARSEOP_CLOSE_PAREN '{' {COMMENT_CAPTURE_ON;} 79289b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,7, 79389b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 794835858a6Schristos $5,$7,$8,$9,$10,$14);} 7950b89cdedSchristos | PARSEOP_METHOD 7960b89cdedSchristos PARSEOP_OPEN_PAREN 7970b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 798d0e1da26Schristos ; 799d0e1da26Schristos 800d0e1da26Schristos MidTerm 8010b89cdedSchristos : PARSEOP_MID 80289b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MID);} 803d0e1da26Schristos TermArg 804d0e1da26Schristos TermArgItem 805d0e1da26Schristos TermArgItem 806d0e1da26Schristos Target 80789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,$7);} 8080b89cdedSchristos | PARSEOP_MID 8090b89cdedSchristos PARSEOP_OPEN_PAREN 8100b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 811d0e1da26Schristos ; 812d0e1da26Schristos 813d0e1da26Schristos ModTerm 8140b89cdedSchristos : PARSEOP_MOD 81589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MOD);} 816d0e1da26Schristos TermArg 817d0e1da26Schristos TermArgItem 818d0e1da26Schristos Target 81989b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 8200b89cdedSchristos | PARSEOP_MOD 8210b89cdedSchristos PARSEOP_OPEN_PAREN 8220b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 823d0e1da26Schristos ; 824d0e1da26Schristos 825d0e1da26Schristos MultiplyTerm 8260b89cdedSchristos : PARSEOP_MULTIPLY 82789b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MULTIPLY);} 828d0e1da26Schristos TermArg 829d0e1da26Schristos TermArgItem 830d0e1da26Schristos Target 83189b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 8320b89cdedSchristos | PARSEOP_MULTIPLY 8330b89cdedSchristos PARSEOP_OPEN_PAREN 8340b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 835d0e1da26Schristos ; 836d0e1da26Schristos 837d0e1da26Schristos MutexTerm 8380b89cdedSchristos : PARSEOP_MUTEX 83989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MUTEX);} 840d0e1da26Schristos NameString 84147315524Schristos OptionalSyncLevel 84289b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2, 84347315524Schristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5);} 8440b89cdedSchristos | PARSEOP_MUTEX 8450b89cdedSchristos PARSEOP_OPEN_PAREN 8460b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 847d0e1da26Schristos ; 848d0e1da26Schristos 849d0e1da26Schristos NameTerm 8500b89cdedSchristos : PARSEOP_NAME 85189b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NAME);} 852d0e1da26Schristos NameString 853d0e1da26Schristos ',' DataObject 85489b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2, 85589b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$6);} 8560b89cdedSchristos | PARSEOP_NAME 8570b89cdedSchristos PARSEOP_OPEN_PAREN 8580b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 859d0e1da26Schristos ; 860d0e1da26Schristos 861d0e1da26Schristos NAndTerm 8620b89cdedSchristos : PARSEOP_NAND 86389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NAND);} 864d0e1da26Schristos TermArg 865d0e1da26Schristos TermArgItem 866d0e1da26Schristos Target 86789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 8680b89cdedSchristos | PARSEOP_NAND 8690b89cdedSchristos PARSEOP_OPEN_PAREN 8700b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 871d0e1da26Schristos ; 872d0e1da26Schristos 873d0e1da26Schristos NoOpTerm 87489b8eb6cSchristos : PARSEOP_NOOP {$$ = TrCreateOp (PARSEOP_NOOP, 0);} 875d0e1da26Schristos ; 876d0e1da26Schristos 877d0e1da26Schristos NOrTerm 8780b89cdedSchristos : PARSEOP_NOR 87989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NOR);} 880d0e1da26Schristos TermArg 881d0e1da26Schristos TermArgItem 882d0e1da26Schristos Target 88389b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 8840b89cdedSchristos | PARSEOP_NOR 8850b89cdedSchristos PARSEOP_OPEN_PAREN 8860b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 887d0e1da26Schristos ; 888d0e1da26Schristos 889d0e1da26Schristos NotifyTerm 8900b89cdedSchristos : PARSEOP_NOTIFY 89189b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NOTIFY);} 892d0e1da26Schristos SuperName 893d0e1da26Schristos TermArgItem 89489b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 8950b89cdedSchristos | PARSEOP_NOTIFY 8960b89cdedSchristos PARSEOP_OPEN_PAREN 8970b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 898d0e1da26Schristos ; 899d0e1da26Schristos 900d0e1da26Schristos NotTerm 9010b89cdedSchristos : PARSEOP_NOT 90289b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_NOT);} 903d0e1da26Schristos TermArg 904d0e1da26Schristos Target 90589b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 9060b89cdedSchristos | PARSEOP_NOT 9070b89cdedSchristos PARSEOP_OPEN_PAREN 9080b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 909d0e1da26Schristos ; 910d0e1da26Schristos 911d0e1da26Schristos ObjectTypeTerm 9120b89cdedSchristos : PARSEOP_OBJECTTYPE 91389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_OBJECTTYPE);} 9140b89cdedSchristos ObjectTypeSource 91589b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 9160b89cdedSchristos | PARSEOP_OBJECTTYPE 9170b89cdedSchristos PARSEOP_OPEN_PAREN 9180b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 919d0e1da26Schristos ; 920d0e1da26Schristos 921d0e1da26Schristos OffsetTerm 9220b89cdedSchristos : PARSEOP_OFFSET 9230b89cdedSchristos PARSEOP_OPEN_PAREN 924d0e1da26Schristos AmlPackageLengthTerm 92589b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrCreateOp (PARSEOP_OFFSET,1,$3);} 9260b89cdedSchristos | PARSEOP_OFFSET 9270b89cdedSchristos PARSEOP_OPEN_PAREN 9280b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 929d0e1da26Schristos ; 930d0e1da26Schristos 931d0e1da26Schristos OpRegionTerm 9320b89cdedSchristos : PARSEOP_OPERATIONREGION 93389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_OPERATIONREGION);} 934d0e1da26Schristos NameString 935d0e1da26Schristos ',' OpRegionSpaceIdTerm 936d0e1da26Schristos TermArgItem 937d0e1da26Schristos TermArgItem 93889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,4, 93989b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 940d0e1da26Schristos $6,$7,$8);} 9410b89cdedSchristos | PARSEOP_OPERATIONREGION 9420b89cdedSchristos PARSEOP_OPEN_PAREN 9430b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 944d0e1da26Schristos ; 945d0e1da26Schristos 946d0e1da26Schristos OpRegionSpaceIdTerm 947d0e1da26Schristos : RegionSpaceKeyword {} 948d0e1da26Schristos | ByteConst {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);} 949d0e1da26Schristos ; 950d0e1da26Schristos 951d0e1da26Schristos OrTerm 9520b89cdedSchristos : PARSEOP_OR 95389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_OR);} 954d0e1da26Schristos TermArg 955d0e1da26Schristos TermArgItem 956d0e1da26Schristos Target 95789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 9580b89cdedSchristos | PARSEOP_OR 9590b89cdedSchristos PARSEOP_OPEN_PAREN 9600b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 961d0e1da26Schristos ; 962d0e1da26Schristos 963d0e1da26Schristos PackageTerm 96489b8eb6cSchristos : PARSEOP_PACKAGE {$<n>$ = TrCreateLeafOp (PARSEOP_VAR_PACKAGE);} 965d0e1da26Schristos OptionalDataCount 96689b8eb6cSchristos '{' PackageList '}' {$$ = TrLinkOpChildren ($<n>2,2,$3,$5);} 967d0e1da26Schristos 968d0e1da26Schristos PowerResTerm 9690b89cdedSchristos : PARSEOP_POWERRESOURCE 97089b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_POWERRESOURCE);} 971d0e1da26Schristos NameString 972d0e1da26Schristos ',' ByteConstExpr 973d0e1da26Schristos ',' WordConstExpr 9740b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 97589b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,4, 97689b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 977d0e1da26Schristos $6,$8,$11);} 9780b89cdedSchristos | PARSEOP_POWERRESOURCE 9790b89cdedSchristos PARSEOP_OPEN_PAREN 9800b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 981d0e1da26Schristos ; 982d0e1da26Schristos 983d0e1da26Schristos PrintfTerm 9840b89cdedSchristos : PARSEOP_PRINTF 98589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PRINTF);} 986360a9019Schristos StringLiteral 987d0e1da26Schristos PrintfArgList 98889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 9890b89cdedSchristos | PARSEOP_PRINTF 9900b89cdedSchristos PARSEOP_OPEN_PAREN 9910b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 992d0e1da26Schristos ; 993d0e1da26Schristos 994d0e1da26Schristos PrintfArgList 995d0e1da26Schristos : {$$ = NULL;} 996d0e1da26Schristos | TermArg {$$ = $1;} 997d0e1da26Schristos | PrintfArgList ',' 99889b8eb6cSchristos TermArg {$$ = TrLinkPeerOp ($1, $3);} 999d0e1da26Schristos ; 1000d0e1da26Schristos 1001d0e1da26Schristos ProcessorTerm 10020b89cdedSchristos : PARSEOP_PROCESSOR 100389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PROCESSOR);} 1004d0e1da26Schristos NameString 1005d0e1da26Schristos ',' ByteConstExpr 1006d0e1da26Schristos OptionalDWordConstExpr 1007d0e1da26Schristos OptionalByteConstExpr 10080b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 100989b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,5, 101089b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION), 1011d0e1da26Schristos $6,$7,$8,$11);} 10120b89cdedSchristos | PARSEOP_PROCESSOR 10130b89cdedSchristos PARSEOP_OPEN_PAREN 10140b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1015d0e1da26Schristos ; 1016d0e1da26Schristos 1017d0e1da26Schristos RawDataBufferTerm 10180b89cdedSchristos : PARSEOP_DATABUFFER 101989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_DATABUFFER);} 1020d0e1da26Schristos OptionalWordConst 10210b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 102289b8eb6cSchristos ByteList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 10230b89cdedSchristos | PARSEOP_DATABUFFER 10240b89cdedSchristos PARSEOP_OPEN_PAREN 10250b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1026d0e1da26Schristos ; 1027d0e1da26Schristos 1028d0e1da26Schristos /* 1029d0e1da26Schristos * In RefOf, the node isn't really a target, but we can't keep track of it after 1030d0e1da26Schristos * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.) 1031d0e1da26Schristos */ 1032d0e1da26Schristos RefOfTerm 10330b89cdedSchristos : PARSEOP_REFOF 103489b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_REFOF);} 10350b89cdedSchristos RefOfSource 103689b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1, 103789b8eb6cSchristos TrSetOpFlags ($4, OP_IS_TARGET));} 10380b89cdedSchristos | PARSEOP_REFOF 10390b89cdedSchristos PARSEOP_OPEN_PAREN 10400b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1041d0e1da26Schristos ; 1042d0e1da26Schristos 1043d0e1da26Schristos ReleaseTerm 10440b89cdedSchristos : PARSEOP_RELEASE 104589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_RELEASE);} 1046d0e1da26Schristos SuperName 104789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 10480b89cdedSchristos | PARSEOP_RELEASE 10490b89cdedSchristos PARSEOP_OPEN_PAREN 10500b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1051d0e1da26Schristos ; 1052d0e1da26Schristos 1053d0e1da26Schristos ResetTerm 10540b89cdedSchristos : PARSEOP_RESET 105589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_RESET);} 1056d0e1da26Schristos SuperName 105789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 10580b89cdedSchristos | PARSEOP_RESET 10590b89cdedSchristos PARSEOP_OPEN_PAREN 10600b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1061d0e1da26Schristos ; 1062d0e1da26Schristos 1063d0e1da26Schristos ReturnTerm 10640b89cdedSchristos : PARSEOP_RETURN 106589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_RETURN);} 1066d0e1da26Schristos OptionalReturnArg 106789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 106889b8eb6cSchristos | PARSEOP_RETURN {$$ = TrLinkOpChildren ( 106989b8eb6cSchristos TrCreateLeafOp (PARSEOP_RETURN),1, 107089b8eb6cSchristos TrSetOpFlags (TrCreateLeafOp (PARSEOP_ZERO), 107189b8eb6cSchristos OP_IS_NULL_RETURN));} 10720b89cdedSchristos | PARSEOP_RETURN 10730b89cdedSchristos PARSEOP_OPEN_PAREN 10740b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1075d0e1da26Schristos ; 1076d0e1da26Schristos 1077d0e1da26Schristos ScopeTerm 10780b89cdedSchristos : PARSEOP_SCOPE 107989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SCOPE);} 1080d0e1da26Schristos NameString 10810b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 108289b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2, 108389b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);} 10840b89cdedSchristos | PARSEOP_SCOPE 10850b89cdedSchristos PARSEOP_OPEN_PAREN 10860b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1087d0e1da26Schristos ; 1088d0e1da26Schristos 1089d0e1da26Schristos ShiftLeftTerm 10900b89cdedSchristos : PARSEOP_SHIFTLEFT 109189b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SHIFTLEFT);} 1092d0e1da26Schristos TermArg 1093d0e1da26Schristos TermArgItem 1094d0e1da26Schristos Target 109589b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 10960b89cdedSchristos | PARSEOP_SHIFTLEFT 10970b89cdedSchristos PARSEOP_OPEN_PAREN 10980b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1099d0e1da26Schristos ; 1100d0e1da26Schristos 1101d0e1da26Schristos ShiftRightTerm 11020b89cdedSchristos : PARSEOP_SHIFTRIGHT 110389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SHIFTRIGHT);} 1104d0e1da26Schristos TermArg 1105d0e1da26Schristos TermArgItem 1106d0e1da26Schristos Target 110789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 11080b89cdedSchristos | PARSEOP_SHIFTRIGHT 11090b89cdedSchristos PARSEOP_OPEN_PAREN 11100b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1111d0e1da26Schristos ; 1112d0e1da26Schristos 1113d0e1da26Schristos SignalTerm 11140b89cdedSchristos : PARSEOP_SIGNAL 111589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SIGNAL);} 1116d0e1da26Schristos SuperName 111789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 11180b89cdedSchristos | PARSEOP_SIGNAL 11190b89cdedSchristos PARSEOP_OPEN_PAREN 11200b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1121d0e1da26Schristos ; 1122d0e1da26Schristos 1123d0e1da26Schristos SizeOfTerm 11240b89cdedSchristos : PARSEOP_SIZEOF 112589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SIZEOF);} 1126d0e1da26Schristos SuperName 112789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 11280b89cdedSchristos | PARSEOP_SIZEOF 11290b89cdedSchristos PARSEOP_OPEN_PAREN 11300b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1131d0e1da26Schristos ; 1132d0e1da26Schristos 1133d0e1da26Schristos SleepTerm 11340b89cdedSchristos : PARSEOP_SLEEP 113589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SLEEP);} 1136d0e1da26Schristos TermArg 113789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 11380b89cdedSchristos | PARSEOP_SLEEP 11390b89cdedSchristos PARSEOP_OPEN_PAREN 11400b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1141d0e1da26Schristos ; 1142d0e1da26Schristos 1143d0e1da26Schristos StallTerm 11440b89cdedSchristos : PARSEOP_STALL 114589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STALL);} 1146d0e1da26Schristos TermArg 114789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 11480b89cdedSchristos | PARSEOP_STALL 11490b89cdedSchristos PARSEOP_OPEN_PAREN 11500b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1151d0e1da26Schristos ; 1152d0e1da26Schristos 1153d0e1da26Schristos StoreTerm 11540b89cdedSchristos : PARSEOP_STORE 115589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_STORE);} 1156d0e1da26Schristos TermArg 1157d0e1da26Schristos ',' SuperName 115889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4, 115989b8eb6cSchristos TrSetOpFlags ($6, OP_IS_TARGET));} 11600b89cdedSchristos | PARSEOP_STORE 11610b89cdedSchristos PARSEOP_OPEN_PAREN 11620b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1163d0e1da26Schristos ; 1164d0e1da26Schristos 1165d0e1da26Schristos SubtractTerm 11660b89cdedSchristos : PARSEOP_SUBTRACT 116789b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SUBTRACT);} 1168d0e1da26Schristos TermArg 1169d0e1da26Schristos TermArgItem 1170d0e1da26Schristos Target 117189b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 11720b89cdedSchristos | PARSEOP_SUBTRACT 11730b89cdedSchristos PARSEOP_OPEN_PAREN 11740b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1175d0e1da26Schristos ; 1176d0e1da26Schristos 1177d0e1da26Schristos SwitchTerm 11780b89cdedSchristos : PARSEOP_SWITCH 117989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_SWITCH);} 1180d0e1da26Schristos TermArg 11810b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 118289b8eb6cSchristos CaseDefaultTermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 11830b89cdedSchristos | PARSEOP_SWITCH 11840b89cdedSchristos PARSEOP_OPEN_PAREN 11850b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1186d0e1da26Schristos ; 1187d0e1da26Schristos 1188d0e1da26Schristos ThermalZoneTerm 11890b89cdedSchristos : PARSEOP_THERMALZONE 119089b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_THERMALZONE);} 1191d0e1da26Schristos NameString 11920b89cdedSchristos PARSEOP_CLOSE_PAREN '{' 119389b8eb6cSchristos TermList '}' {$$ = TrLinkOpChildren ($<n>3,2, 119489b8eb6cSchristos TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);} 11950b89cdedSchristos | PARSEOP_THERMALZONE 11960b89cdedSchristos PARSEOP_OPEN_PAREN 11970b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1198d0e1da26Schristos ; 1199d0e1da26Schristos 1200d0e1da26Schristos TimerTerm 12010b89cdedSchristos : PARSEOP_TIMER 120289b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TIMER);} 120389b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,0);} 120489b8eb6cSchristos | PARSEOP_TIMER {$$ = TrLinkOpChildren ( 120589b8eb6cSchristos TrCreateLeafOp (PARSEOP_TIMER),0);} 12060b89cdedSchristos | PARSEOP_TIMER 12070b89cdedSchristos PARSEOP_OPEN_PAREN 12080b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1209d0e1da26Schristos ; 1210d0e1da26Schristos 1211d0e1da26Schristos ToBCDTerm 12120b89cdedSchristos : PARSEOP_TOBCD 121389b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOBCD);} 1214d0e1da26Schristos TermArg 1215d0e1da26Schristos Target 121689b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 12170b89cdedSchristos | PARSEOP_TOBCD 12180b89cdedSchristos PARSEOP_OPEN_PAREN 12190b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1220d0e1da26Schristos ; 1221d0e1da26Schristos 1222d0e1da26Schristos ToBufferTerm 12230b89cdedSchristos : PARSEOP_TOBUFFER 122489b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOBUFFER);} 1225d0e1da26Schristos TermArg 1226d0e1da26Schristos Target 122789b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 12280b89cdedSchristos | PARSEOP_TOBUFFER 12290b89cdedSchristos PARSEOP_OPEN_PAREN 12300b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1231d0e1da26Schristos ; 1232d0e1da26Schristos 1233d0e1da26Schristos ToDecimalStringTerm 12340b89cdedSchristos : PARSEOP_TODECIMALSTRING 123589b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TODECIMALSTRING);} 1236d0e1da26Schristos TermArg 1237d0e1da26Schristos Target 123889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 12390b89cdedSchristos | PARSEOP_TODECIMALSTRING 12400b89cdedSchristos PARSEOP_OPEN_PAREN 12410b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1242d0e1da26Schristos ; 1243d0e1da26Schristos 1244d0e1da26Schristos ToHexStringTerm 12450b89cdedSchristos : PARSEOP_TOHEXSTRING 124689b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOHEXSTRING);} 1247d0e1da26Schristos TermArg 1248d0e1da26Schristos Target 124989b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 12500b89cdedSchristos | PARSEOP_TOHEXSTRING 12510b89cdedSchristos PARSEOP_OPEN_PAREN 12520b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1253d0e1da26Schristos ; 1254d0e1da26Schristos 1255d0e1da26Schristos ToIntegerTerm 12560b89cdedSchristos : PARSEOP_TOINTEGER 125789b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOINTEGER);} 1258d0e1da26Schristos TermArg 1259d0e1da26Schristos Target 126089b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 12610b89cdedSchristos | PARSEOP_TOINTEGER 12620b89cdedSchristos PARSEOP_OPEN_PAREN 12630b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1264d0e1da26Schristos ; 1265d0e1da26Schristos 1266d0e1da26Schristos ToPLDTerm 12670b89cdedSchristos : PARSEOP_TOPLD 126889b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOPLD);} 1269d0e1da26Schristos PldKeywordList 127089b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 12710b89cdedSchristos | PARSEOP_TOPLD 12720b89cdedSchristos PARSEOP_OPEN_PAREN 12730b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1274d0e1da26Schristos ; 1275d0e1da26Schristos 1276d0e1da26Schristos PldKeywordList 1277d0e1da26Schristos : {$$ = NULL;} 1278d0e1da26Schristos | PldKeyword 127989b8eb6cSchristos PARSEOP_EXP_EQUALS Integer {$$ = TrLinkOpChildren ($1,1,$3);} 1280d0e1da26Schristos | PldKeyword 128189b8eb6cSchristos PARSEOP_EXP_EQUALS String {$$ = TrLinkOpChildren ($1,1,$3);} 1282d0e1da26Schristos | PldKeywordList ',' /* Allows a trailing comma at list end */ 1283d0e1da26Schristos | PldKeywordList ',' 1284d0e1da26Schristos PldKeyword 128589b8eb6cSchristos PARSEOP_EXP_EQUALS Integer {$$ = TrLinkPeerOp ($1,TrLinkOpChildren ($3,1,$5));} 1286d0e1da26Schristos | PldKeywordList ',' 1287d0e1da26Schristos PldKeyword 128889b8eb6cSchristos PARSEOP_EXP_EQUALS String {$$ = TrLinkPeerOp ($1,TrLinkOpChildren ($3,1,$5));} 1289d0e1da26Schristos ; 1290d0e1da26Schristos 1291d0e1da26Schristos 1292d0e1da26Schristos ToStringTerm 12930b89cdedSchristos : PARSEOP_TOSTRING 129489b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_TOSTRING);} 1295d0e1da26Schristos TermArg 1296d0e1da26Schristos OptionalCount 1297d0e1da26Schristos Target 129889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 12990b89cdedSchristos | PARSEOP_TOSTRING 13000b89cdedSchristos PARSEOP_OPEN_PAREN 13010b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1302d0e1da26Schristos ; 1303d0e1da26Schristos 1304d0e1da26Schristos ToUUIDTerm 13050b89cdedSchristos : PARSEOP_TOUUID 13060b89cdedSchristos PARSEOP_OPEN_PAREN 1307360a9019Schristos StringLiteral 130889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrSetOpIntegerValue (PARSEOP_TOUUID, $3);} 13090b89cdedSchristos | PARSEOP_TOUUID 13100b89cdedSchristos PARSEOP_OPEN_PAREN 13110b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1312d0e1da26Schristos ; 1313d0e1da26Schristos 1314d0e1da26Schristos UnicodeTerm 13150b89cdedSchristos : PARSEOP_UNICODE 131689b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UNICODE);} 1317360a9019Schristos StringLiteral 131889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,0,$4);} 13190b89cdedSchristos | PARSEOP_UNICODE 13200b89cdedSchristos PARSEOP_OPEN_PAREN 13210b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1322d0e1da26Schristos ; 1323d0e1da26Schristos 1324d0e1da26Schristos UnloadTerm 13250b89cdedSchristos : PARSEOP_UNLOAD 132689b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_UNLOAD);} 1327d0e1da26Schristos SuperName 132889b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,1,$4);} 13290b89cdedSchristos | PARSEOP_UNLOAD 13300b89cdedSchristos PARSEOP_OPEN_PAREN 13310b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1332d0e1da26Schristos ; 1333d0e1da26Schristos 1334d0e1da26Schristos WaitTerm 13350b89cdedSchristos : PARSEOP_WAIT 133689b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WAIT);} 1337d0e1da26Schristos SuperName 1338d0e1da26Schristos TermArgItem 133989b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);} 13400b89cdedSchristos | PARSEOP_WAIT 13410b89cdedSchristos PARSEOP_OPEN_PAREN 13420b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1343d0e1da26Schristos ; 1344d0e1da26Schristos 1345d0e1da26Schristos XOrTerm 13460b89cdedSchristos : PARSEOP_XOR 134789b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_XOR);} 1348d0e1da26Schristos TermArg 1349d0e1da26Schristos TermArgItem 1350d0e1da26Schristos Target 135189b8eb6cSchristos PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);} 13520b89cdedSchristos | PARSEOP_XOR 13530b89cdedSchristos PARSEOP_OPEN_PAREN 13540b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1355d0e1da26Schristos ; 1356d0e1da26Schristos 1357d0e1da26Schristos WhileTerm 13580b89cdedSchristos : PARSEOP_WHILE 135989b8eb6cSchristos PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_WHILE);} 1360d0e1da26Schristos TermArg 13610b89cdedSchristos PARSEOP_CLOSE_PAREN 136289b8eb6cSchristos '{' TermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);} 13630b89cdedSchristos | PARSEOP_WHILE 13640b89cdedSchristos PARSEOP_OPEN_PAREN 13650b89cdedSchristos error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} 1366d0e1da26Schristos ; 1367