1493deb39SJung-uk Kim NoEcho('
2493deb39SJung-uk Kim /******************************************************************************
3493deb39SJung-uk Kim  *
4493deb39SJung-uk Kim  * Module Name: aslprimaries.y - Rules for primary ASL operators
50d84335fSJung-uk Kim  *                             - Keep this file synched with the
60d84335fSJung-uk Kim  *                               CvParseOpBlockType function in cvcompiler.c
7493deb39SJung-uk Kim  *
8493deb39SJung-uk Kim  *****************************************************************************/
9493deb39SJung-uk Kim 
100d84335fSJung-uk Kim /******************************************************************************
110d84335fSJung-uk Kim  *
120d84335fSJung-uk Kim  * 1. Copyright Notice
130d84335fSJung-uk Kim  *
14722b1667SJung-uk Kim  * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
15493deb39SJung-uk Kim  * All rights reserved.
16493deb39SJung-uk Kim  *
170d84335fSJung-uk Kim  * 2. License
180d84335fSJung-uk Kim  *
190d84335fSJung-uk Kim  * 2.1. This is your license from Intel Corp. under its intellectual property
200d84335fSJung-uk Kim  * rights. You may have additional license terms from the party that provided
210d84335fSJung-uk Kim  * you this software, covering your right to use that party's intellectual
220d84335fSJung-uk Kim  * property rights.
230d84335fSJung-uk Kim  *
240d84335fSJung-uk Kim  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
250d84335fSJung-uk Kim  * copy of the source code appearing in this file ("Covered Code") an
260d84335fSJung-uk Kim  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
270d84335fSJung-uk Kim  * base code distributed originally by Intel ("Original Intel Code") to copy,
280d84335fSJung-uk Kim  * make derivatives, distribute, use and display any portion of the Covered
290d84335fSJung-uk Kim  * Code in any form, with the right to sublicense such rights; and
300d84335fSJung-uk Kim  *
310d84335fSJung-uk Kim  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
320d84335fSJung-uk Kim  * license (with the right to sublicense), under only those claims of Intel
330d84335fSJung-uk Kim  * patents that are infringed by the Original Intel Code, to make, use, sell,
340d84335fSJung-uk Kim  * offer to sell, and import the Covered Code and derivative works thereof
350d84335fSJung-uk Kim  * solely to the minimum extent necessary to exercise the above copyright
360d84335fSJung-uk Kim  * license, and in no event shall the patent license extend to any additions
370d84335fSJung-uk Kim  * to or modifications of the Original Intel Code. No other license or right
380d84335fSJung-uk Kim  * is granted directly or by implication, estoppel or otherwise;
390d84335fSJung-uk Kim  *
400d84335fSJung-uk Kim  * The above copyright and patent license is granted only if the following
410d84335fSJung-uk Kim  * conditions are met:
420d84335fSJung-uk Kim  *
430d84335fSJung-uk Kim  * 3. Conditions
440d84335fSJung-uk Kim  *
450d84335fSJung-uk Kim  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
460d84335fSJung-uk Kim  * Redistribution of source code of any substantial portion of the Covered
470d84335fSJung-uk Kim  * Code or modification with rights to further distribute source must include
480d84335fSJung-uk Kim  * the above Copyright Notice, the above License, this list of Conditions,
490d84335fSJung-uk Kim  * and the following Disclaimer and Export Compliance provision. In addition,
500d84335fSJung-uk Kim  * Licensee must cause all Covered Code to which Licensee contributes to
510d84335fSJung-uk Kim  * contain a file documenting the changes Licensee made to create that Covered
520d84335fSJung-uk Kim  * Code and the date of any change. Licensee must include in that file the
530d84335fSJung-uk Kim  * documentation of any changes made by any predecessor Licensee. Licensee
540d84335fSJung-uk Kim  * must include a prominent statement that the modification is derived,
550d84335fSJung-uk Kim  * directly or indirectly, from Original Intel Code.
560d84335fSJung-uk Kim  *
570d84335fSJung-uk Kim  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
580d84335fSJung-uk Kim  * Redistribution of source code of any substantial portion of the Covered
590d84335fSJung-uk Kim  * Code or modification without rights to further distribute source must
600d84335fSJung-uk Kim  * include the following Disclaimer and Export Compliance provision in the
610d84335fSJung-uk Kim  * documentation and/or other materials provided with distribution. In
620d84335fSJung-uk Kim  * addition, Licensee may not authorize further sublicense of source of any
630d84335fSJung-uk Kim  * portion of the Covered Code, and must include terms to the effect that the
640d84335fSJung-uk Kim  * license from Licensee to its licensee is limited to the intellectual
650d84335fSJung-uk Kim  * property embodied in the software Licensee provides to its licensee, and
660d84335fSJung-uk Kim  * not to intellectual property embodied in modifications its licensee may
670d84335fSJung-uk Kim  * make.
680d84335fSJung-uk Kim  *
690d84335fSJung-uk Kim  * 3.3. Redistribution of Executable. Redistribution in executable form of any
700d84335fSJung-uk Kim  * substantial portion of the Covered Code or modification must reproduce the
710d84335fSJung-uk Kim  * above Copyright Notice, and the following Disclaimer and Export Compliance
720d84335fSJung-uk Kim  * provision in the documentation and/or other materials provided with the
730d84335fSJung-uk Kim  * distribution.
740d84335fSJung-uk Kim  *
750d84335fSJung-uk Kim  * 3.4. Intel retains all right, title, and interest in and to the Original
760d84335fSJung-uk Kim  * Intel Code.
770d84335fSJung-uk Kim  *
780d84335fSJung-uk Kim  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
790d84335fSJung-uk Kim  * Intel shall be used in advertising or otherwise to promote the sale, use or
800d84335fSJung-uk Kim  * other dealings in products derived from or relating to the Covered Code
810d84335fSJung-uk Kim  * without prior written authorization from Intel.
820d84335fSJung-uk Kim  *
830d84335fSJung-uk Kim  * 4. Disclaimer and Export Compliance
840d84335fSJung-uk Kim  *
850d84335fSJung-uk Kim  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
860d84335fSJung-uk Kim  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
870d84335fSJung-uk Kim  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
880d84335fSJung-uk Kim  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
890d84335fSJung-uk Kim  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
900d84335fSJung-uk Kim  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
910d84335fSJung-uk Kim  * PARTICULAR PURPOSE.
920d84335fSJung-uk Kim  *
930d84335fSJung-uk Kim  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
940d84335fSJung-uk Kim  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
950d84335fSJung-uk Kim  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
960d84335fSJung-uk Kim  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
970d84335fSJung-uk Kim  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
980d84335fSJung-uk Kim  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
990d84335fSJung-uk Kim  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
1000d84335fSJung-uk Kim  * LIMITED REMEDY.
1010d84335fSJung-uk Kim  *
1020d84335fSJung-uk Kim  * 4.3. Licensee shall not export, either directly or indirectly, any of this
1030d84335fSJung-uk Kim  * software or system incorporating such software without first obtaining any
1040d84335fSJung-uk Kim  * required license or other approval from the U. S. Department of Commerce or
1050d84335fSJung-uk Kim  * any other agency or department of the United States Government. In the
1060d84335fSJung-uk Kim  * event Licensee exports any such software from the United States or
1070d84335fSJung-uk Kim  * re-exports any such software from a foreign destination, Licensee shall
1080d84335fSJung-uk Kim  * ensure that the distribution and export/re-export of the software is in
1090d84335fSJung-uk Kim  * compliance with all laws, regulations, orders, or other restrictions of the
1100d84335fSJung-uk Kim  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
1110d84335fSJung-uk Kim  * any of its subsidiaries will export/re-export any technical data, process,
1120d84335fSJung-uk Kim  * software, or service, directly or indirectly, to any country for which the
1130d84335fSJung-uk Kim  * United States government or any agency thereof requires an export license,
1140d84335fSJung-uk Kim  * other governmental approval, or letter of assurance, without first obtaining
1150d84335fSJung-uk Kim  * such license, approval or letter.
1160d84335fSJung-uk Kim  *
1170d84335fSJung-uk Kim  *****************************************************************************
1180d84335fSJung-uk Kim  *
1190d84335fSJung-uk Kim  * Alternatively, you may choose to be licensed under the terms of the
1200d84335fSJung-uk Kim  * following license:
1210d84335fSJung-uk Kim  *
122493deb39SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
123493deb39SJung-uk Kim  * modification, are permitted provided that the following conditions
124493deb39SJung-uk Kim  * are met:
125493deb39SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
126493deb39SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
127493deb39SJung-uk Kim  *    without modification.
128493deb39SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
129493deb39SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
130493deb39SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
131493deb39SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
132493deb39SJung-uk Kim  *    binary redistribution.
133493deb39SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
134493deb39SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
135493deb39SJung-uk Kim  *    from this software without specific prior written permission.
136493deb39SJung-uk Kim  *
1370d84335fSJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1380d84335fSJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1390d84335fSJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1400d84335fSJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1410d84335fSJung-uk Kim  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1420d84335fSJung-uk Kim  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1430d84335fSJung-uk Kim  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1440d84335fSJung-uk Kim  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1450d84335fSJung-uk Kim  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1460d84335fSJung-uk Kim  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1470d84335fSJung-uk Kim  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1480d84335fSJung-uk Kim  *
1490d84335fSJung-uk Kim  * Alternatively, you may choose to be licensed under the terms of the
150493deb39SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
151493deb39SJung-uk Kim  * Software Foundation.
152493deb39SJung-uk Kim  *
1530d84335fSJung-uk Kim  *****************************************************************************/
154493deb39SJung-uk Kim 
155493deb39SJung-uk Kim ')
156493deb39SJung-uk Kim 
157493deb39SJung-uk Kim 
158493deb39SJung-uk Kim /*******************************************************************************
159493deb39SJung-uk Kim  *
160493deb39SJung-uk Kim  * ASL Primary Terms
161493deb39SJung-uk Kim  *
162493deb39SJung-uk Kim  ******************************************************************************/
163493deb39SJung-uk Kim 
164493deb39SJung-uk Kim AccessAsTerm
1651cc50d6bSJung-uk Kim     : PARSEOP_ACCESSAS
1661cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
167493deb39SJung-uk Kim         AccessTypeKeyword
168493deb39SJung-uk Kim         OptionalAccessAttribTerm
1695f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrCreateOp (PARSEOP_ACCESSAS,2,$3,$4);}
1701cc50d6bSJung-uk Kim     | PARSEOP_ACCESSAS
1711cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
1721cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
173493deb39SJung-uk Kim     ;
174493deb39SJung-uk Kim 
175493deb39SJung-uk Kim AcquireTerm
1761cc50d6bSJung-uk Kim     : PARSEOP_ACQUIRE
1775f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp(PARSEOP_ACQUIRE);}
178493deb39SJung-uk Kim         SuperName
179493deb39SJung-uk Kim         ',' WordConstExpr
1805f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$6);}
1811cc50d6bSJung-uk Kim     | PARSEOP_ACQUIRE
1821cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
1831cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
184493deb39SJung-uk Kim     ;
185493deb39SJung-uk Kim 
186493deb39SJung-uk Kim AddTerm
1871cc50d6bSJung-uk Kim     : PARSEOP_ADD
1885f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_ADD);}
189493deb39SJung-uk Kim         TermArg
190493deb39SJung-uk Kim         TermArgItem
191493deb39SJung-uk Kim         Target
1925f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
1931cc50d6bSJung-uk Kim     | PARSEOP_ADD
1941cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
1951cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
196493deb39SJung-uk Kim     ;
197493deb39SJung-uk Kim 
198493deb39SJung-uk Kim AliasTerm
1991cc50d6bSJung-uk Kim     : PARSEOP_ALIAS
2005f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_ALIAS);}
201493deb39SJung-uk Kim         NameString
202493deb39SJung-uk Kim         NameStringItem
2035f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,
2045f9b24faSJung-uk Kim                                         TrSetOpFlags ($5, OP_IS_NAME_DECLARATION));}
2051cc50d6bSJung-uk Kim     | PARSEOP_ALIAS
2061cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
2071cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
208493deb39SJung-uk Kim     ;
209493deb39SJung-uk Kim 
210493deb39SJung-uk Kim AndTerm
2111cc50d6bSJung-uk Kim     : PARSEOP_AND
2125f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_AND);}
213493deb39SJung-uk Kim         TermArg
214493deb39SJung-uk Kim         TermArgItem
215493deb39SJung-uk Kim         Target
2165f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
2171cc50d6bSJung-uk Kim     | PARSEOP_AND
2181cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
2191cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
220493deb39SJung-uk Kim     ;
221493deb39SJung-uk Kim 
222493deb39SJung-uk Kim ArgTerm
2235f9b24faSJung-uk Kim     : PARSEOP_ARG0                  {$$ = TrCreateLeafOp (PARSEOP_ARG0);}
2245f9b24faSJung-uk Kim     | PARSEOP_ARG1                  {$$ = TrCreateLeafOp (PARSEOP_ARG1);}
2255f9b24faSJung-uk Kim     | PARSEOP_ARG2                  {$$ = TrCreateLeafOp (PARSEOP_ARG2);}
2265f9b24faSJung-uk Kim     | PARSEOP_ARG3                  {$$ = TrCreateLeafOp (PARSEOP_ARG3);}
2275f9b24faSJung-uk Kim     | PARSEOP_ARG4                  {$$ = TrCreateLeafOp (PARSEOP_ARG4);}
2285f9b24faSJung-uk Kim     | PARSEOP_ARG5                  {$$ = TrCreateLeafOp (PARSEOP_ARG5);}
2295f9b24faSJung-uk Kim     | PARSEOP_ARG6                  {$$ = TrCreateLeafOp (PARSEOP_ARG6);}
230493deb39SJung-uk Kim     ;
231493deb39SJung-uk Kim 
232493deb39SJung-uk Kim BankFieldTerm
2331cc50d6bSJung-uk Kim     : PARSEOP_BANKFIELD
2345f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_BANKFIELD);}
235493deb39SJung-uk Kim         NameString
236493deb39SJung-uk Kim         NameStringItem
237493deb39SJung-uk Kim         TermArgItem
238da9b0901SJung-uk Kim         OptionalAccessTypeKeyword
239da9b0901SJung-uk Kim         OptionalLockRuleKeyword
240da9b0901SJung-uk Kim         OptionalUpdateRuleKeyword
2411cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
2425f9b24faSJung-uk Kim             FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,7,
243da9b0901SJung-uk Kim                                         $4,$5,$6,$7,$8,$9,$12);}
2441cc50d6bSJung-uk Kim     | PARSEOP_BANKFIELD
2451cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
2461cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN
2471cc50d6bSJung-uk Kim         '{' error '}'               {$$ = AslDoError(); yyclearin;}
248493deb39SJung-uk Kim     ;
249493deb39SJung-uk Kim 
250493deb39SJung-uk Kim BreakTerm
2515f9b24faSJung-uk Kim     : PARSEOP_BREAK                 {$$ = TrCreateOp (PARSEOP_BREAK, 0);}
252493deb39SJung-uk Kim     ;
253493deb39SJung-uk Kim 
254493deb39SJung-uk Kim BreakPointTerm
2555f9b24faSJung-uk Kim     : PARSEOP_BREAKPOINT            {$$ = TrCreateOp (PARSEOP_BREAKPOINT, 0);}
256493deb39SJung-uk Kim     ;
257493deb39SJung-uk Kim 
258493deb39SJung-uk Kim BufferTerm
2595f9b24faSJung-uk Kim     : PARSEOP_BUFFER                {$<n>$ = TrCreateLeafOp (PARSEOP_BUFFER); COMMENT_CAPTURE_OFF; }
260493deb39SJung-uk Kim         OptionalDataCount
2615f9b24faSJung-uk Kim         '{' BufferTermData '}'      {$$ = TrLinkOpChildren ($<n>2,2,$3,$5); COMMENT_CAPTURE_ON;}
262493deb39SJung-uk Kim     ;
263493deb39SJung-uk Kim 
264493deb39SJung-uk Kim BufferTermData
265493deb39SJung-uk Kim     : ByteList                      {}
266493deb39SJung-uk Kim     | StringData                    {}
267493deb39SJung-uk Kim     ;
268493deb39SJung-uk Kim 
269493deb39SJung-uk Kim CaseTerm
2701cc50d6bSJung-uk Kim     : PARSEOP_CASE
2715f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CASE);}
272493deb39SJung-uk Kim         DataObject
2731cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
2745f9b24faSJung-uk Kim             TermList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
2751cc50d6bSJung-uk Kim     | PARSEOP_CASE
2761cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
2771cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
278493deb39SJung-uk Kim     ;
279493deb39SJung-uk Kim 
280493deb39SJung-uk Kim ConcatTerm
2811cc50d6bSJung-uk Kim     : PARSEOP_CONCATENATE
2825f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CONCATENATE);}
283493deb39SJung-uk Kim         TermArg
284493deb39SJung-uk Kim         TermArgItem
285493deb39SJung-uk Kim         Target
2865f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
2871cc50d6bSJung-uk Kim     | PARSEOP_CONCATENATE
2881cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
2891cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
290493deb39SJung-uk Kim     ;
291493deb39SJung-uk Kim 
292493deb39SJung-uk Kim ConcatResTerm
2931cc50d6bSJung-uk Kim     : PARSEOP_CONCATENATERESTEMPLATE
2945f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (
295493deb39SJung-uk Kim                                         PARSEOP_CONCATENATERESTEMPLATE);}
296493deb39SJung-uk Kim         TermArg
297493deb39SJung-uk Kim         TermArgItem
298493deb39SJung-uk Kim         Target
2995f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
3001cc50d6bSJung-uk Kim     | PARSEOP_CONCATENATERESTEMPLATE
3011cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
3021cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
3031cc50d6bSJung-uk Kim     ;
3041cc50d6bSJung-uk Kim 
3051cc50d6bSJung-uk Kim CondRefOfTerm
3061cc50d6bSJung-uk Kim     : PARSEOP_CONDREFOF
3075f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CONDREFOF);}
3081cc50d6bSJung-uk Kim         CondRefOfSource
3091cc50d6bSJung-uk Kim         Target
3105f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
3111cc50d6bSJung-uk Kim     | PARSEOP_CONDREFOF
3121cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
3131cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
314493deb39SJung-uk Kim     ;
315493deb39SJung-uk Kim 
316493deb39SJung-uk Kim ConnectionTerm
3171cc50d6bSJung-uk Kim     : PARSEOP_CONNECTION
3181cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
319493deb39SJung-uk Kim         NameString
3205f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrCreateOp (PARSEOP_CONNECTION,1,$3);}
3211cc50d6bSJung-uk Kim     | PARSEOP_CONNECTION
3225f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CONNECTION);}
323493deb39SJung-uk Kim         ResourceMacroTerm
3245f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3, 1,
3255f9b24faSJung-uk Kim                                         TrLinkOpChildren (
3265f9b24faSJung-uk Kim                                             TrCreateLeafOp (PARSEOP_RESOURCETEMPLATE), 3,
3275f9b24faSJung-uk Kim                                             TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
3285f9b24faSJung-uk Kim                                             TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
329493deb39SJung-uk Kim                                             $4));}
3301cc50d6bSJung-uk Kim     | PARSEOP_CONNECTION
3311cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
3321cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
333493deb39SJung-uk Kim     ;
334493deb39SJung-uk Kim 
335493deb39SJung-uk Kim ContinueTerm
3365f9b24faSJung-uk Kim     : PARSEOP_CONTINUE              {$$ = TrCreateOp (PARSEOP_CONTINUE, 0);}
337493deb39SJung-uk Kim     ;
338493deb39SJung-uk Kim 
339493deb39SJung-uk Kim CopyObjectTerm
3401cc50d6bSJung-uk Kim     : PARSEOP_COPYOBJECT
3415f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_COPYOBJECT);}
342493deb39SJung-uk Kim         TermArg
3431cc50d6bSJung-uk Kim         ',' SimpleName
3445f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,
3455f9b24faSJung-uk Kim                                         TrSetOpFlags ($6, OP_IS_TARGET));}
3461cc50d6bSJung-uk Kim     | PARSEOP_COPYOBJECT
3471cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
3481cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
349493deb39SJung-uk Kim     ;
350493deb39SJung-uk Kim 
351493deb39SJung-uk Kim CreateBitFieldTerm
3521cc50d6bSJung-uk Kim     : PARSEOP_CREATEBITFIELD
3535f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEBITFIELD);}
354493deb39SJung-uk Kim         TermArg
355493deb39SJung-uk Kim         TermArgItem
356493deb39SJung-uk Kim         NameStringItem
3575f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
3585f9b24faSJung-uk Kim                                         TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
3591cc50d6bSJung-uk Kim     | PARSEOP_CREATEBITFIELD
3601cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
3611cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
362493deb39SJung-uk Kim     ;
363493deb39SJung-uk Kim 
364493deb39SJung-uk Kim CreateByteFieldTerm
3651cc50d6bSJung-uk Kim     : PARSEOP_CREATEBYTEFIELD
3665f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEBYTEFIELD);}
367493deb39SJung-uk Kim         TermArg
368493deb39SJung-uk Kim         TermArgItem
369493deb39SJung-uk Kim         NameStringItem
3705f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
3715f9b24faSJung-uk Kim                                         TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
3721cc50d6bSJung-uk Kim     | PARSEOP_CREATEBYTEFIELD
3731cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
3741cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
375493deb39SJung-uk Kim     ;
376493deb39SJung-uk Kim 
377493deb39SJung-uk Kim CreateDWordFieldTerm
3781cc50d6bSJung-uk Kim     : PARSEOP_CREATEDWORDFIELD
3795f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEDWORDFIELD);}
380493deb39SJung-uk Kim         TermArg
381493deb39SJung-uk Kim         TermArgItem
382493deb39SJung-uk Kim         NameStringItem
3835f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
3845f9b24faSJung-uk Kim                                         TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
3851cc50d6bSJung-uk Kim     | PARSEOP_CREATEDWORDFIELD
3861cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
3871cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
388493deb39SJung-uk Kim     ;
389493deb39SJung-uk Kim 
390493deb39SJung-uk Kim CreateFieldTerm
3911cc50d6bSJung-uk Kim     : PARSEOP_CREATEFIELD
3925f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEFIELD);}
393493deb39SJung-uk Kim         TermArg
394493deb39SJung-uk Kim         TermArgItem
395493deb39SJung-uk Kim         TermArgItem
396493deb39SJung-uk Kim         NameStringItem
3975f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,
3985f9b24faSJung-uk Kim                                         TrSetOpFlags ($7, OP_IS_NAME_DECLARATION));}
3991cc50d6bSJung-uk Kim     | PARSEOP_CREATEFIELD
4001cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
4011cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
402493deb39SJung-uk Kim     ;
403493deb39SJung-uk Kim 
404493deb39SJung-uk Kim CreateQWordFieldTerm
4051cc50d6bSJung-uk Kim     : PARSEOP_CREATEQWORDFIELD
4065f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEQWORDFIELD);}
407493deb39SJung-uk Kim         TermArg
408493deb39SJung-uk Kim         TermArgItem
409493deb39SJung-uk Kim         NameStringItem
4105f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
4115f9b24faSJung-uk Kim                                         TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
4121cc50d6bSJung-uk Kim     | PARSEOP_CREATEQWORDFIELD
4131cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
4141cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
415493deb39SJung-uk Kim     ;
416493deb39SJung-uk Kim 
417493deb39SJung-uk Kim CreateWordFieldTerm
4181cc50d6bSJung-uk Kim     : PARSEOP_CREATEWORDFIELD
4195f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CREATEWORDFIELD);}
420493deb39SJung-uk Kim         TermArg
421493deb39SJung-uk Kim         TermArgItem
422493deb39SJung-uk Kim         NameStringItem
4235f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,
4245f9b24faSJung-uk Kim                                         TrSetOpFlags ($6, OP_IS_NAME_DECLARATION));}
4251cc50d6bSJung-uk Kim     | PARSEOP_CREATEWORDFIELD
4261cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
4271cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
428493deb39SJung-uk Kim     ;
429493deb39SJung-uk Kim 
430493deb39SJung-uk Kim DataRegionTerm
4311cc50d6bSJung-uk Kim     : PARSEOP_DATATABLEREGION
4325f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DATATABLEREGION);}
433493deb39SJung-uk Kim         NameString
434493deb39SJung-uk Kim         TermArgItem
435493deb39SJung-uk Kim         TermArgItem
436493deb39SJung-uk Kim         TermArgItem
4375f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,4,
4385f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5,$6,$7);}
4391cc50d6bSJung-uk Kim     | PARSEOP_DATATABLEREGION
4401cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
4411cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
442493deb39SJung-uk Kim     ;
443493deb39SJung-uk Kim 
444493deb39SJung-uk Kim DebugTerm
4455f9b24faSJung-uk Kim     : PARSEOP_DEBUG                 {$$ = TrCreateLeafOp (PARSEOP_DEBUG);}
446493deb39SJung-uk Kim     ;
447493deb39SJung-uk Kim 
448493deb39SJung-uk Kim DecTerm
4491cc50d6bSJung-uk Kim     : PARSEOP_DECREMENT
4505f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DECREMENT);}
451493deb39SJung-uk Kim         SuperName
4525f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
4531cc50d6bSJung-uk Kim     | PARSEOP_DECREMENT
4541cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
4551cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
456493deb39SJung-uk Kim     ;
457493deb39SJung-uk Kim 
458493deb39SJung-uk Kim DefaultTerm
4595f9b24faSJung-uk Kim     : PARSEOP_DEFAULT '{'           {$<n>$ = TrCreateLeafOp (PARSEOP_DEFAULT);}
4605f9b24faSJung-uk Kim         TermList '}'                {$$ = TrLinkOpChildren ($<n>3,1,$4);}
461493deb39SJung-uk Kim     | PARSEOP_DEFAULT '{'
462493deb39SJung-uk Kim         error '}'                   {$$ = AslDoError(); yyclearin;}
463493deb39SJung-uk Kim     ;
464493deb39SJung-uk Kim 
465493deb39SJung-uk Kim DerefOfTerm
4661cc50d6bSJung-uk Kim     : PARSEOP_DEREFOF
4675f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DEREFOF);}
4681cc50d6bSJung-uk Kim         DerefOfSource
4695f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
4701cc50d6bSJung-uk Kim     | PARSEOP_DEREFOF
4711cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
4721cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
473493deb39SJung-uk Kim     ;
474493deb39SJung-uk Kim 
475493deb39SJung-uk Kim DeviceTerm
4761cc50d6bSJung-uk Kim     : PARSEOP_DEVICE
4775f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DEVICE);}
478493deb39SJung-uk Kim         NameString
4791cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
4805f9b24faSJung-uk Kim             TermList '}'            {$$ = TrLinkOpChildren ($<n>3,2,
4815f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);}
4821cc50d6bSJung-uk Kim     | PARSEOP_DEVICE
4831cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
4841cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
485493deb39SJung-uk Kim     ;
486493deb39SJung-uk Kim 
487493deb39SJung-uk Kim DivideTerm
4881cc50d6bSJung-uk Kim     : PARSEOP_DIVIDE
4895f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DIVIDE);}
490493deb39SJung-uk Kim         TermArg
491493deb39SJung-uk Kim         TermArgItem
492493deb39SJung-uk Kim         Target
493493deb39SJung-uk Kim         Target
4945f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,$7);}
4951cc50d6bSJung-uk Kim     | PARSEOP_DIVIDE
4961cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
4971cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
498493deb39SJung-uk Kim     ;
499493deb39SJung-uk Kim 
500493deb39SJung-uk Kim EISAIDTerm
5011cc50d6bSJung-uk Kim     : PARSEOP_EISAID
5021cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
503fbde3477SJung-uk Kim         StringLiteral
5045f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrSetOpIntegerValue (PARSEOP_EISAID, $3);}
5051cc50d6bSJung-uk Kim     | PARSEOP_EISAID
5061cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
5071cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
508493deb39SJung-uk Kim     ;
509493deb39SJung-uk Kim 
510493deb39SJung-uk Kim ElseIfTerm
5115f9b24faSJung-uk Kim     : IfTerm ElseTerm               {$$ = TrLinkPeerOp ($1,$2);}
512493deb39SJung-uk Kim     ;
513493deb39SJung-uk Kim 
514493deb39SJung-uk Kim ElseTerm
515493deb39SJung-uk Kim     :                               {$$ = NULL;}
5160d84335fSJung-uk Kim     | PARSEOP_ELSE '{'
5175f9b24faSJung-uk Kim         TermList           {$<n>$ = TrCreateLeafOp (PARSEOP_ELSE);}
5185f9b24faSJung-uk Kim         '}'                {$$ = TrLinkOpChildren ($<n>4,1,$3);}
519493deb39SJung-uk Kim 
520493deb39SJung-uk Kim     | PARSEOP_ELSE '{'
521493deb39SJung-uk Kim         error '}'                   {$$ = AslDoError(); yyclearin;}
522493deb39SJung-uk Kim 
523493deb39SJung-uk Kim     | PARSEOP_ELSE
524493deb39SJung-uk Kim         error                       {$$ = AslDoError(); yyclearin;}
525493deb39SJung-uk Kim 
5261cc50d6bSJung-uk Kim     | PARSEOP_ELSEIF
5275f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_ELSE);}
5285f9b24faSJung-uk Kim         TermArg                     {$<n>$ = TrCreateLeafOp (PARSEOP_IF);}
5291cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
5305f9b24faSJung-uk Kim             TermList '}'            {TrLinkOpChildren ($<n>5,2,$4,$8);}
5315f9b24faSJung-uk Kim         ElseTerm                    {TrLinkPeerOp ($<n>5,$11);}
5325f9b24faSJung-uk Kim                                     {$$ = TrLinkOpChildren ($<n>3,1,$<n>5);}
533493deb39SJung-uk Kim 
5341cc50d6bSJung-uk Kim     | PARSEOP_ELSEIF
5351cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
5361cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
537493deb39SJung-uk Kim 
538493deb39SJung-uk Kim     | PARSEOP_ELSEIF
539493deb39SJung-uk Kim         error                       {$$ = AslDoError(); yyclearin;}
540493deb39SJung-uk Kim     ;
541493deb39SJung-uk Kim 
542493deb39SJung-uk Kim EventTerm
5431cc50d6bSJung-uk Kim     : PARSEOP_EVENT
5445f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_EVENT);}
545493deb39SJung-uk Kim         NameString
5465f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,
5475f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION));}
5481cc50d6bSJung-uk Kim     | PARSEOP_EVENT
5491cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
5501cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
551493deb39SJung-uk Kim     ;
552493deb39SJung-uk Kim 
553493deb39SJung-uk Kim ExternalTerm
5541cc50d6bSJung-uk Kim     : PARSEOP_EXTERNAL
5551cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
556493deb39SJung-uk Kim         NameString
557493deb39SJung-uk Kim         OptionalObjectTypeKeyword
558493deb39SJung-uk Kim         OptionalParameterTypePackage
559493deb39SJung-uk Kim         OptionalParameterTypesPackage
5605f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrCreateOp (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);}
5611cc50d6bSJung-uk Kim     | PARSEOP_EXTERNAL
5621cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
5631cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
564493deb39SJung-uk Kim     ;
565493deb39SJung-uk Kim 
566493deb39SJung-uk Kim FatalTerm
5671cc50d6bSJung-uk Kim     : PARSEOP_FATAL
5685f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FATAL);}
569493deb39SJung-uk Kim         ByteConstExpr
570493deb39SJung-uk Kim         ',' DWordConstExpr
571493deb39SJung-uk Kim         TermArgItem
5725f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
5731cc50d6bSJung-uk Kim     | PARSEOP_FATAL
5741cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
5751cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
576493deb39SJung-uk Kim     ;
577493deb39SJung-uk Kim 
578493deb39SJung-uk Kim FieldTerm
5791cc50d6bSJung-uk Kim     : PARSEOP_FIELD
5805f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FIELD);}
581493deb39SJung-uk Kim         NameString
582da9b0901SJung-uk Kim         OptionalAccessTypeKeyword
583da9b0901SJung-uk Kim         OptionalLockRuleKeyword
584da9b0901SJung-uk Kim         OptionalUpdateRuleKeyword
5851cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
586da9b0901SJung-uk Kim             FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
5871cc50d6bSJung-uk Kim     | PARSEOP_FIELD
5881cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
5891cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN
5901cc50d6bSJung-uk Kim         '{' error '}'               {$$ = AslDoError(); yyclearin;}
591493deb39SJung-uk Kim     ;
592493deb39SJung-uk Kim 
593493deb39SJung-uk Kim FindSetLeftBitTerm
5941cc50d6bSJung-uk Kim     : PARSEOP_FINDSETLEFTBIT
5955f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FINDSETLEFTBIT);}
596493deb39SJung-uk Kim         TermArg
597493deb39SJung-uk Kim         Target
5985f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
5991cc50d6bSJung-uk Kim     | PARSEOP_FINDSETLEFTBIT
6001cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
6011cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
602493deb39SJung-uk Kim     ;
603493deb39SJung-uk Kim 
604493deb39SJung-uk Kim FindSetRightBitTerm
6051cc50d6bSJung-uk Kim     : PARSEOP_FINDSETRIGHTBIT
6065f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FINDSETRIGHTBIT);}
607493deb39SJung-uk Kim         TermArg
608493deb39SJung-uk Kim         Target
6095f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
6101cc50d6bSJung-uk Kim     | PARSEOP_FINDSETRIGHTBIT
6111cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
6121cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
613493deb39SJung-uk Kim     ;
614493deb39SJung-uk Kim 
615493deb39SJung-uk Kim     /* Convert a For() loop to a While() loop */
616493deb39SJung-uk Kim ForTerm
6171cc50d6bSJung-uk Kim     : PARSEOP_FOR
6185f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WHILE);}
619493deb39SJung-uk Kim         OptionalTermArg ','         {}
620493deb39SJung-uk Kim         OptionalPredicate ','
6215f9b24faSJung-uk Kim         OptionalTermArg             {$<n>$ = TrLinkPeerOp ($4,$<n>3);
6225f9b24faSJung-uk Kim                                             TrSetOpParent ($9,$<n>3);}                /* New parent is WHILE */
6231cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN
6245f9b24faSJung-uk Kim         '{' TermList '}'            {$<n>$ = TrLinkOpChildren ($<n>3,2,$7,$13);}
6255f9b24faSJung-uk Kim                                     {$<n>$ = TrLinkPeerOp ($13,$9);
626493deb39SJung-uk Kim                                         $$ = $<n>10;}
627493deb39SJung-uk Kim     ;
628493deb39SJung-uk Kim 
629493deb39SJung-uk Kim OptionalPredicate
6305f9b24faSJung-uk Kim     :                               {$$ = TrCreateValuedLeafOp (PARSEOP_INTEGER, 1);}
631493deb39SJung-uk Kim     | TermArg                       {$$ = $1;}
632493deb39SJung-uk Kim     ;
633493deb39SJung-uk Kim 
634493deb39SJung-uk Kim FprintfTerm
6351cc50d6bSJung-uk Kim     : PARSEOP_FPRINTF
6365f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FPRINTF);}
637493deb39SJung-uk Kim         TermArg ','
638fbde3477SJung-uk Kim         StringLiteral
639493deb39SJung-uk Kim         PrintfArgList
6405f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
6411cc50d6bSJung-uk Kim     | PARSEOP_FPRINTF
6421cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
6431cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
644493deb39SJung-uk Kim     ;
645493deb39SJung-uk Kim 
646493deb39SJung-uk Kim FromBCDTerm
6471cc50d6bSJung-uk Kim     : PARSEOP_FROMBCD
6485f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FROMBCD);}
649493deb39SJung-uk Kim         TermArg
650493deb39SJung-uk Kim         Target
6515f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
6521cc50d6bSJung-uk Kim     | PARSEOP_FROMBCD
6531cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
6541cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
655493deb39SJung-uk Kim     ;
656493deb39SJung-uk Kim 
657493deb39SJung-uk Kim FunctionTerm
6581cc50d6bSJung-uk Kim     : PARSEOP_FUNCTION
6595f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {COMMENT_CAPTURE_OFF; $<n>$ = TrCreateLeafOp (PARSEOP_METHOD); }
660493deb39SJung-uk Kim         NameString
661493deb39SJung-uk Kim         OptionalParameterTypePackage
662493deb39SJung-uk Kim         OptionalParameterTypesPackage
6630d84335fSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'     {COMMENT_CAPTURE_ON; }
6645f9b24faSJung-uk Kim             TermList '}'            {$$ = TrLinkOpChildren ($<n>3,7,
6655f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
666ec0234b4SJung-uk Kim                                         TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
6675f9b24faSJung-uk Kim                                         TrCreateLeafOp (PARSEOP_SERIALIZERULE_NOTSERIAL),
6685f9b24faSJung-uk Kim                                         TrCreateValuedLeafOp (PARSEOP_BYTECONST, 0),$5,$6,$10);}
6691cc50d6bSJung-uk Kim     | PARSEOP_FUNCTION
6701cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
6711cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
672493deb39SJung-uk Kim     ;
673493deb39SJung-uk Kim 
674493deb39SJung-uk Kim IfTerm
6751cc50d6bSJung-uk Kim     : PARSEOP_IF
6765f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IF);}
677493deb39SJung-uk Kim         TermArg
6781cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
6795f9b24faSJung-uk Kim             TermList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
680493deb39SJung-uk Kim 
6811cc50d6bSJung-uk Kim     | PARSEOP_IF
6821cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
6831cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
684493deb39SJung-uk Kim     ;
685493deb39SJung-uk Kim 
686493deb39SJung-uk Kim IncludeTerm
6871cc50d6bSJung-uk Kim     : PARSEOP_INCLUDE
6881cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
6891cc50d6bSJung-uk Kim         String
6905f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrSetOpIntegerValue (PARSEOP_INCLUDE, $3);
691493deb39SJung-uk Kim                                         FlOpenIncludeFile ($3);}
692493deb39SJung-uk Kim     ;
693493deb39SJung-uk Kim 
694493deb39SJung-uk Kim IncludeEndTerm
6955f9b24faSJung-uk Kim     : PARSEOP_INCLUDE_END           {$<n>$ = TrCreateLeafOp (PARSEOP_INCLUDE_END);
6965f9b24faSJung-uk Kim                                         TrSetOpCurrentFilename ($$);}
697493deb39SJung-uk Kim     ;
698493deb39SJung-uk Kim 
699493deb39SJung-uk Kim IncTerm
7001cc50d6bSJung-uk Kim     : PARSEOP_INCREMENT
7015f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_INCREMENT);}
702493deb39SJung-uk Kim         SuperName
7035f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
7041cc50d6bSJung-uk Kim     | PARSEOP_INCREMENT
7051cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
7061cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
707493deb39SJung-uk Kim     ;
708493deb39SJung-uk Kim 
709493deb39SJung-uk Kim IndexFieldTerm
7101cc50d6bSJung-uk Kim     : PARSEOP_INDEXFIELD
7115f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_INDEXFIELD);}
712493deb39SJung-uk Kim         NameString
713493deb39SJung-uk Kim         NameStringItem
714da9b0901SJung-uk Kim         OptionalAccessTypeKeyword
715da9b0901SJung-uk Kim         OptionalLockRuleKeyword
716da9b0901SJung-uk Kim         OptionalUpdateRuleKeyword
7171cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
718da9b0901SJung-uk Kim             FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$11);}
7191cc50d6bSJung-uk Kim     | PARSEOP_INDEXFIELD
7201cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
7211cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN
7221cc50d6bSJung-uk Kim         '{' error '}'               {$$ = AslDoError(); yyclearin;}
723493deb39SJung-uk Kim     ;
724493deb39SJung-uk Kim 
725493deb39SJung-uk Kim IndexTerm
7261cc50d6bSJung-uk Kim     : PARSEOP_INDEX
7275f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_INDEX);}
728493deb39SJung-uk Kim         TermArg
729493deb39SJung-uk Kim         TermArgItem
730493deb39SJung-uk Kim         Target
7315f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
7321cc50d6bSJung-uk Kim     | PARSEOP_INDEX
7331cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
7341cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
735493deb39SJung-uk Kim     ;
736493deb39SJung-uk Kim 
737493deb39SJung-uk Kim LAndTerm
7381cc50d6bSJung-uk Kim     : PARSEOP_LAND
7395f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LAND);}
740493deb39SJung-uk Kim         TermArg
741493deb39SJung-uk Kim         TermArgItem
7425f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
7431cc50d6bSJung-uk Kim     | PARSEOP_LAND
7441cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
7451cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
746493deb39SJung-uk Kim     ;
747493deb39SJung-uk Kim 
748493deb39SJung-uk Kim LEqualTerm
7491cc50d6bSJung-uk Kim     : PARSEOP_LEQUAL
7505f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LEQUAL);}
751493deb39SJung-uk Kim         TermArg
752493deb39SJung-uk Kim         TermArgItem
7535f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
7541cc50d6bSJung-uk Kim     | PARSEOP_LEQUAL
7551cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
7561cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
757493deb39SJung-uk Kim     ;
758493deb39SJung-uk Kim 
759493deb39SJung-uk Kim LGreaterEqualTerm
7601cc50d6bSJung-uk Kim     : PARSEOP_LGREATEREQUAL
7615f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LLESS);}
762493deb39SJung-uk Kim         TermArg
763493deb39SJung-uk Kim         TermArgItem
7645f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrCreateOp (PARSEOP_LNOT, 1,
7655f9b24faSJung-uk Kim                                         TrLinkOpChildren ($<n>3,2,$4,$5));}
7661cc50d6bSJung-uk Kim     | PARSEOP_LGREATEREQUAL
7671cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
7681cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
769493deb39SJung-uk Kim     ;
770493deb39SJung-uk Kim 
771493deb39SJung-uk Kim LGreaterTerm
7721cc50d6bSJung-uk Kim     : PARSEOP_LGREATER
7735f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LGREATER);}
774493deb39SJung-uk Kim         TermArg
775493deb39SJung-uk Kim         TermArgItem
7765f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
7771cc50d6bSJung-uk Kim     | PARSEOP_LGREATER
7781cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
7791cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
780493deb39SJung-uk Kim     ;
781493deb39SJung-uk Kim 
782493deb39SJung-uk Kim LLessEqualTerm
7831cc50d6bSJung-uk Kim     : PARSEOP_LLESSEQUAL
7845f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LGREATER);}
785493deb39SJung-uk Kim         TermArg
786493deb39SJung-uk Kim         TermArgItem
7875f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrCreateOp (PARSEOP_LNOT, 1,
7885f9b24faSJung-uk Kim                                         TrLinkOpChildren ($<n>3,2,$4,$5));}
7891cc50d6bSJung-uk Kim     | PARSEOP_LLESSEQUAL
7901cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
7911cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
792493deb39SJung-uk Kim     ;
793493deb39SJung-uk Kim 
794493deb39SJung-uk Kim LLessTerm
7951cc50d6bSJung-uk Kim     : PARSEOP_LLESS
7965f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LLESS);}
797493deb39SJung-uk Kim         TermArg
798493deb39SJung-uk Kim         TermArgItem
7995f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
8001cc50d6bSJung-uk Kim     | PARSEOP_LLESS
8011cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
8021cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
803493deb39SJung-uk Kim     ;
804493deb39SJung-uk Kim 
805493deb39SJung-uk Kim LNotEqualTerm
8061cc50d6bSJung-uk Kim     : PARSEOP_LNOTEQUAL
8075f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LEQUAL);}
808493deb39SJung-uk Kim         TermArg
809493deb39SJung-uk Kim         TermArgItem
8105f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrCreateOp (PARSEOP_LNOT, 1,
8115f9b24faSJung-uk Kim                                         TrLinkOpChildren ($<n>3,2,$4,$5));}
8121cc50d6bSJung-uk Kim     | PARSEOP_LNOTEQUAL
8131cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
8141cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
815493deb39SJung-uk Kim     ;
816493deb39SJung-uk Kim 
817493deb39SJung-uk Kim LNotTerm
8181cc50d6bSJung-uk Kim     : PARSEOP_LNOT
8195f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LNOT);}
820493deb39SJung-uk Kim         TermArg
8215f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
8221cc50d6bSJung-uk Kim     | PARSEOP_LNOT
8231cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
8241cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
825493deb39SJung-uk Kim     ;
826493deb39SJung-uk Kim 
827493deb39SJung-uk Kim LoadTableTerm
8281cc50d6bSJung-uk Kim     : PARSEOP_LOADTABLE
8295f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LOADTABLE);}
830493deb39SJung-uk Kim         TermArg
831493deb39SJung-uk Kim         TermArgItem
832493deb39SJung-uk Kim         TermArgItem
833493deb39SJung-uk Kim         OptionalListString
834493deb39SJung-uk Kim         OptionalListString
835493deb39SJung-uk Kim         OptionalReference
8365f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$9);}
8371cc50d6bSJung-uk Kim     | PARSEOP_LOADTABLE
8381cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
8391cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
840493deb39SJung-uk Kim     ;
841493deb39SJung-uk Kim 
842493deb39SJung-uk Kim LoadTerm
8431cc50d6bSJung-uk Kim     : PARSEOP_LOAD
8445f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LOAD);}
845493deb39SJung-uk Kim         NameString
846ab71bbb7SJung-uk Kim         Target
8475f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
8481cc50d6bSJung-uk Kim     | PARSEOP_LOAD
8491cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
8501cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
851493deb39SJung-uk Kim     ;
852493deb39SJung-uk Kim 
853493deb39SJung-uk Kim LocalTerm
8545f9b24faSJung-uk Kim     : PARSEOP_LOCAL0                {$$ = TrCreateLeafOp (PARSEOP_LOCAL0);}
8555f9b24faSJung-uk Kim     | PARSEOP_LOCAL1                {$$ = TrCreateLeafOp (PARSEOP_LOCAL1);}
8565f9b24faSJung-uk Kim     | PARSEOP_LOCAL2                {$$ = TrCreateLeafOp (PARSEOP_LOCAL2);}
8575f9b24faSJung-uk Kim     | PARSEOP_LOCAL3                {$$ = TrCreateLeafOp (PARSEOP_LOCAL3);}
8585f9b24faSJung-uk Kim     | PARSEOP_LOCAL4                {$$ = TrCreateLeafOp (PARSEOP_LOCAL4);}
8595f9b24faSJung-uk Kim     | PARSEOP_LOCAL5                {$$ = TrCreateLeafOp (PARSEOP_LOCAL5);}
8605f9b24faSJung-uk Kim     | PARSEOP_LOCAL6                {$$ = TrCreateLeafOp (PARSEOP_LOCAL6);}
8615f9b24faSJung-uk Kim     | PARSEOP_LOCAL7                {$$ = TrCreateLeafOp (PARSEOP_LOCAL7);}
862493deb39SJung-uk Kim     ;
863493deb39SJung-uk Kim 
864493deb39SJung-uk Kim LOrTerm
8651cc50d6bSJung-uk Kim     : PARSEOP_LOR
8665f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_LOR);}
867493deb39SJung-uk Kim         TermArg
868493deb39SJung-uk Kim         TermArgItem
8695f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
8701cc50d6bSJung-uk Kim     | PARSEOP_LOR
8711cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
8721cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
873493deb39SJung-uk Kim     ;
874493deb39SJung-uk Kim 
875493deb39SJung-uk Kim MatchTerm
8761cc50d6bSJung-uk Kim     : PARSEOP_MATCH
8775f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MATCH);}
878493deb39SJung-uk Kim         TermArg
879493deb39SJung-uk Kim         ',' MatchOpKeyword
880493deb39SJung-uk Kim         TermArgItem
881493deb39SJung-uk Kim         ',' MatchOpKeyword
882493deb39SJung-uk Kim         TermArgItem
883493deb39SJung-uk Kim         TermArgItem
8845f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$7,$9,$10,$11);}
8851cc50d6bSJung-uk Kim     | PARSEOP_MATCH
8861cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
8871cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
888493deb39SJung-uk Kim     ;
889493deb39SJung-uk Kim 
890493deb39SJung-uk Kim MethodTerm
8911cc50d6bSJung-uk Kim     : PARSEOP_METHOD
8925f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_METHOD); COMMENT_CAPTURE_OFF;}
893493deb39SJung-uk Kim         NameString
894493deb39SJung-uk Kim         OptionalByteConstExpr       {UtCheckIntegerRange ($5, 0, 7);}
895493deb39SJung-uk Kim         OptionalSerializeRuleKeyword
896493deb39SJung-uk Kim         OptionalByteConstExpr
897493deb39SJung-uk Kim         OptionalParameterTypePackage
898493deb39SJung-uk Kim         OptionalParameterTypesPackage
8990d84335fSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'     {COMMENT_CAPTURE_ON;}
9005f9b24faSJung-uk Kim             TermList '}'            {$$ = TrLinkOpChildren ($<n>3,7,
9015f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
9020d84335fSJung-uk Kim                                         $5,$7,$8,$9,$10,$14);}
9031cc50d6bSJung-uk Kim     | PARSEOP_METHOD
9041cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
9051cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
906493deb39SJung-uk Kim     ;
907493deb39SJung-uk Kim 
908493deb39SJung-uk Kim MidTerm
9091cc50d6bSJung-uk Kim     : PARSEOP_MID
9105f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MID);}
911493deb39SJung-uk Kim         TermArg
912493deb39SJung-uk Kim         TermArgItem
913493deb39SJung-uk Kim         TermArgItem
914493deb39SJung-uk Kim         Target
9155f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,4,$4,$5,$6,$7);}
9161cc50d6bSJung-uk Kim     | PARSEOP_MID
9171cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
9181cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
919493deb39SJung-uk Kim     ;
920493deb39SJung-uk Kim 
921493deb39SJung-uk Kim ModTerm
9221cc50d6bSJung-uk Kim     : PARSEOP_MOD
9235f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MOD);}
924493deb39SJung-uk Kim         TermArg
925493deb39SJung-uk Kim         TermArgItem
926493deb39SJung-uk Kim         Target
9275f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
9281cc50d6bSJung-uk Kim     | PARSEOP_MOD
9291cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
9301cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
931493deb39SJung-uk Kim     ;
932493deb39SJung-uk Kim 
933493deb39SJung-uk Kim MultiplyTerm
9341cc50d6bSJung-uk Kim     : PARSEOP_MULTIPLY
9355f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MULTIPLY);}
936493deb39SJung-uk Kim         TermArg
937493deb39SJung-uk Kim         TermArgItem
938493deb39SJung-uk Kim         Target
9395f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
9401cc50d6bSJung-uk Kim     | PARSEOP_MULTIPLY
9411cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
9421cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
943493deb39SJung-uk Kim     ;
944493deb39SJung-uk Kim 
945493deb39SJung-uk Kim MutexTerm
9461cc50d6bSJung-uk Kim     : PARSEOP_MUTEX
9475f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MUTEX);}
948493deb39SJung-uk Kim         NameString
949da9b0901SJung-uk Kim         OptionalSyncLevel
9505f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,
951da9b0901SJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5);}
9521cc50d6bSJung-uk Kim     | PARSEOP_MUTEX
9531cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
9541cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
955493deb39SJung-uk Kim     ;
956493deb39SJung-uk Kim 
957493deb39SJung-uk Kim NameTerm
9581cc50d6bSJung-uk Kim     : PARSEOP_NAME
9595f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_NAME);}
960493deb39SJung-uk Kim         NameString
961493deb39SJung-uk Kim         ',' DataObject
9625f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,
9635f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$6);}
9641cc50d6bSJung-uk Kim     | PARSEOP_NAME
9651cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
9661cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
967493deb39SJung-uk Kim     ;
968493deb39SJung-uk Kim 
969493deb39SJung-uk Kim NAndTerm
9701cc50d6bSJung-uk Kim     : PARSEOP_NAND
9715f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_NAND);}
972493deb39SJung-uk Kim         TermArg
973493deb39SJung-uk Kim         TermArgItem
974493deb39SJung-uk Kim         Target
9755f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
9761cc50d6bSJung-uk Kim     | PARSEOP_NAND
9771cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
9781cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
979493deb39SJung-uk Kim     ;
980493deb39SJung-uk Kim 
981493deb39SJung-uk Kim NoOpTerm
9825f9b24faSJung-uk Kim     : PARSEOP_NOOP                  {$$ = TrCreateOp (PARSEOP_NOOP, 0);}
983493deb39SJung-uk Kim     ;
984493deb39SJung-uk Kim 
985493deb39SJung-uk Kim NOrTerm
9861cc50d6bSJung-uk Kim     : PARSEOP_NOR
9875f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_NOR);}
988493deb39SJung-uk Kim         TermArg
989493deb39SJung-uk Kim         TermArgItem
990493deb39SJung-uk Kim         Target
9915f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
9921cc50d6bSJung-uk Kim     | PARSEOP_NOR
9931cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
9941cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
995493deb39SJung-uk Kim     ;
996493deb39SJung-uk Kim 
997493deb39SJung-uk Kim NotifyTerm
9981cc50d6bSJung-uk Kim     : PARSEOP_NOTIFY
9995f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_NOTIFY);}
1000493deb39SJung-uk Kim         SuperName
1001493deb39SJung-uk Kim         TermArgItem
10025f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
10031cc50d6bSJung-uk Kim     | PARSEOP_NOTIFY
10041cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
10051cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1006493deb39SJung-uk Kim     ;
1007493deb39SJung-uk Kim 
1008493deb39SJung-uk Kim NotTerm
10091cc50d6bSJung-uk Kim     : PARSEOP_NOT
10105f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_NOT);}
1011493deb39SJung-uk Kim         TermArg
1012493deb39SJung-uk Kim         Target
10135f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
10141cc50d6bSJung-uk Kim     | PARSEOP_NOT
10151cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
10161cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1017493deb39SJung-uk Kim     ;
1018493deb39SJung-uk Kim 
1019493deb39SJung-uk Kim ObjectTypeTerm
10201cc50d6bSJung-uk Kim     : PARSEOP_OBJECTTYPE
10215f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_OBJECTTYPE);}
10221cc50d6bSJung-uk Kim         ObjectTypeSource
10235f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
10241cc50d6bSJung-uk Kim     | PARSEOP_OBJECTTYPE
10251cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
10261cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1027493deb39SJung-uk Kim     ;
1028493deb39SJung-uk Kim 
1029493deb39SJung-uk Kim OffsetTerm
10301cc50d6bSJung-uk Kim     : PARSEOP_OFFSET
10311cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
1032493deb39SJung-uk Kim         AmlPackageLengthTerm
10335f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrCreateOp (PARSEOP_OFFSET,1,$3);}
10341cc50d6bSJung-uk Kim     | PARSEOP_OFFSET
10351cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
10361cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1037493deb39SJung-uk Kim     ;
1038493deb39SJung-uk Kim 
1039493deb39SJung-uk Kim OpRegionTerm
10401cc50d6bSJung-uk Kim     : PARSEOP_OPERATIONREGION
10415f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_OPERATIONREGION);}
1042493deb39SJung-uk Kim         NameString
1043493deb39SJung-uk Kim         ',' OpRegionSpaceIdTerm
1044493deb39SJung-uk Kim         TermArgItem
1045493deb39SJung-uk Kim         TermArgItem
10465f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,4,
10475f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
1048493deb39SJung-uk Kim                                         $6,$7,$8);}
10491cc50d6bSJung-uk Kim     | PARSEOP_OPERATIONREGION
10501cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
10511cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1052493deb39SJung-uk Kim     ;
1053493deb39SJung-uk Kim 
1054493deb39SJung-uk Kim OpRegionSpaceIdTerm
1055493deb39SJung-uk Kim     : RegionSpaceKeyword            {}
1056493deb39SJung-uk Kim     | ByteConst                     {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);}
1057493deb39SJung-uk Kim     ;
1058493deb39SJung-uk Kim 
1059493deb39SJung-uk Kim OrTerm
10601cc50d6bSJung-uk Kim     : PARSEOP_OR
10615f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_OR);}
1062493deb39SJung-uk Kim         TermArg
1063493deb39SJung-uk Kim         TermArgItem
1064493deb39SJung-uk Kim         Target
10655f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
10661cc50d6bSJung-uk Kim     | PARSEOP_OR
10671cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
10681cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1069493deb39SJung-uk Kim     ;
1070493deb39SJung-uk Kim 
1071493deb39SJung-uk Kim PackageTerm
10725f9b24faSJung-uk Kim     : PARSEOP_PACKAGE               {$<n>$ = TrCreateLeafOp (PARSEOP_VAR_PACKAGE);}
1073493deb39SJung-uk Kim         OptionalDataCount
10745f9b24faSJung-uk Kim         '{' PackageList '}'         {$$ = TrLinkOpChildren ($<n>2,2,$3,$5);}
1075493deb39SJung-uk Kim 
1076493deb39SJung-uk Kim PowerResTerm
10771cc50d6bSJung-uk Kim     : PARSEOP_POWERRESOURCE
10785f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_POWERRESOURCE);}
1079493deb39SJung-uk Kim         NameString
1080493deb39SJung-uk Kim         ',' ByteConstExpr
1081493deb39SJung-uk Kim         ',' WordConstExpr
10821cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
10835f9b24faSJung-uk Kim             TermList '}'            {$$ = TrLinkOpChildren ($<n>3,4,
10845f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
1085493deb39SJung-uk Kim                                         $6,$8,$11);}
10861cc50d6bSJung-uk Kim     | PARSEOP_POWERRESOURCE
10871cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
10881cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1089493deb39SJung-uk Kim     ;
1090493deb39SJung-uk Kim 
1091493deb39SJung-uk Kim PrintfTerm
10921cc50d6bSJung-uk Kim     : PARSEOP_PRINTF
10935f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PRINTF);}
1094fbde3477SJung-uk Kim         StringLiteral
1095493deb39SJung-uk Kim         PrintfArgList
10965f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
10971cc50d6bSJung-uk Kim     | PARSEOP_PRINTF
10981cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
10991cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1100493deb39SJung-uk Kim     ;
1101493deb39SJung-uk Kim 
1102493deb39SJung-uk Kim PrintfArgList
1103493deb39SJung-uk Kim     :                               {$$ = NULL;}
1104493deb39SJung-uk Kim     | TermArg                       {$$ = $1;}
1105493deb39SJung-uk Kim     | PrintfArgList ','
11065f9b24faSJung-uk Kim        TermArg                      {$$ = TrLinkPeerOp ($1, $3);}
1107493deb39SJung-uk Kim     ;
1108493deb39SJung-uk Kim 
1109493deb39SJung-uk Kim ProcessorTerm
11101cc50d6bSJung-uk Kim     : PARSEOP_PROCESSOR
11115f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PROCESSOR);}
1112493deb39SJung-uk Kim         NameString
1113493deb39SJung-uk Kim         ',' ByteConstExpr
1114493deb39SJung-uk Kim         OptionalDWordConstExpr
1115493deb39SJung-uk Kim         OptionalByteConstExpr
11161cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
11175f9b24faSJung-uk Kim             TermList '}'            {$$ = TrLinkOpChildren ($<n>3,5,
11185f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),
1119493deb39SJung-uk Kim                                         $6,$7,$8,$11);}
11201cc50d6bSJung-uk Kim     | PARSEOP_PROCESSOR
11211cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
11221cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1123493deb39SJung-uk Kim     ;
1124493deb39SJung-uk Kim 
1125493deb39SJung-uk Kim RawDataBufferTerm
11261cc50d6bSJung-uk Kim     : PARSEOP_DATABUFFER
11275f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DATABUFFER);}
1128493deb39SJung-uk Kim         OptionalWordConst
11291cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
11305f9b24faSJung-uk Kim             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
11311cc50d6bSJung-uk Kim     | PARSEOP_DATABUFFER
11321cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
11331cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1134493deb39SJung-uk Kim     ;
1135493deb39SJung-uk Kim 
1136493deb39SJung-uk Kim /*
1137493deb39SJung-uk Kim  * In RefOf, the node isn't really a target, but we can't keep track of it after
1138493deb39SJung-uk Kim  * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.)
1139493deb39SJung-uk Kim  */
1140493deb39SJung-uk Kim RefOfTerm
11411cc50d6bSJung-uk Kim     : PARSEOP_REFOF
11425f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_REFOF);}
11431cc50d6bSJung-uk Kim         RefOfSource
11445f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,
11455f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_TARGET));}
11461cc50d6bSJung-uk Kim     | PARSEOP_REFOF
11471cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
11481cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1149493deb39SJung-uk Kim     ;
1150493deb39SJung-uk Kim 
1151493deb39SJung-uk Kim ReleaseTerm
11521cc50d6bSJung-uk Kim     : PARSEOP_RELEASE
11535f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_RELEASE);}
1154493deb39SJung-uk Kim         SuperName
11555f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
11561cc50d6bSJung-uk Kim     | PARSEOP_RELEASE
11571cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
11581cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1159493deb39SJung-uk Kim     ;
1160493deb39SJung-uk Kim 
1161493deb39SJung-uk Kim ResetTerm
11621cc50d6bSJung-uk Kim     : PARSEOP_RESET
11635f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_RESET);}
1164493deb39SJung-uk Kim         SuperName
11655f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
11661cc50d6bSJung-uk Kim     | PARSEOP_RESET
11671cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
11681cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1169493deb39SJung-uk Kim     ;
1170493deb39SJung-uk Kim 
1171493deb39SJung-uk Kim ReturnTerm
11721cc50d6bSJung-uk Kim     : PARSEOP_RETURN
11735f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_RETURN);}
1174493deb39SJung-uk Kim         OptionalReturnArg
11755f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
11765f9b24faSJung-uk Kim     | PARSEOP_RETURN                {$$ = TrLinkOpChildren (
11775f9b24faSJung-uk Kim                                         TrCreateLeafOp (PARSEOP_RETURN),1,
11785f9b24faSJung-uk Kim                                         TrSetOpFlags (TrCreateLeafOp (PARSEOP_ZERO),
11795f9b24faSJung-uk Kim                                             OP_IS_NULL_RETURN));}
11801cc50d6bSJung-uk Kim     | PARSEOP_RETURN
11811cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
11821cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1183493deb39SJung-uk Kim     ;
1184493deb39SJung-uk Kim 
1185493deb39SJung-uk Kim ScopeTerm
11861cc50d6bSJung-uk Kim     : PARSEOP_SCOPE
11875f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SCOPE);}
1188493deb39SJung-uk Kim         NameString
11891cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
11905f9b24faSJung-uk Kim             TermList '}'            {$$ = TrLinkOpChildren ($<n>3,2,
11915f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);}
11921cc50d6bSJung-uk Kim     | PARSEOP_SCOPE
11931cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
11941cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1195493deb39SJung-uk Kim     ;
1196493deb39SJung-uk Kim 
1197493deb39SJung-uk Kim ShiftLeftTerm
11981cc50d6bSJung-uk Kim     : PARSEOP_SHIFTLEFT
11995f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SHIFTLEFT);}
1200493deb39SJung-uk Kim         TermArg
1201493deb39SJung-uk Kim         TermArgItem
1202493deb39SJung-uk Kim         Target
12035f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
12041cc50d6bSJung-uk Kim     | PARSEOP_SHIFTLEFT
12051cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
12061cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1207493deb39SJung-uk Kim     ;
1208493deb39SJung-uk Kim 
1209493deb39SJung-uk Kim ShiftRightTerm
12101cc50d6bSJung-uk Kim     : PARSEOP_SHIFTRIGHT
12115f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SHIFTRIGHT);}
1212493deb39SJung-uk Kim         TermArg
1213493deb39SJung-uk Kim         TermArgItem
1214493deb39SJung-uk Kim         Target
12155f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
12161cc50d6bSJung-uk Kim     | PARSEOP_SHIFTRIGHT
12171cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
12181cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1219493deb39SJung-uk Kim     ;
1220493deb39SJung-uk Kim 
1221493deb39SJung-uk Kim SignalTerm
12221cc50d6bSJung-uk Kim     : PARSEOP_SIGNAL
12235f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SIGNAL);}
1224493deb39SJung-uk Kim         SuperName
12255f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
12261cc50d6bSJung-uk Kim     | PARSEOP_SIGNAL
12271cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
12281cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1229493deb39SJung-uk Kim     ;
1230493deb39SJung-uk Kim 
1231493deb39SJung-uk Kim SizeOfTerm
12321cc50d6bSJung-uk Kim     : PARSEOP_SIZEOF
12335f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SIZEOF);}
1234493deb39SJung-uk Kim         SuperName
12355f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
12361cc50d6bSJung-uk Kim     | PARSEOP_SIZEOF
12371cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
12381cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1239493deb39SJung-uk Kim     ;
1240493deb39SJung-uk Kim 
1241493deb39SJung-uk Kim SleepTerm
12421cc50d6bSJung-uk Kim     : PARSEOP_SLEEP
12435f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SLEEP);}
1244493deb39SJung-uk Kim         TermArg
12455f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
12461cc50d6bSJung-uk Kim     | PARSEOP_SLEEP
12471cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
12481cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1249493deb39SJung-uk Kim     ;
1250493deb39SJung-uk Kim 
1251493deb39SJung-uk Kim StallTerm
12521cc50d6bSJung-uk Kim     : PARSEOP_STALL
12535f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_STALL);}
1254493deb39SJung-uk Kim         TermArg
12555f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
12561cc50d6bSJung-uk Kim     | PARSEOP_STALL
12571cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
12581cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1259493deb39SJung-uk Kim     ;
1260493deb39SJung-uk Kim 
1261493deb39SJung-uk Kim StoreTerm
12621cc50d6bSJung-uk Kim     : PARSEOP_STORE
12635f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_STORE);}
1264493deb39SJung-uk Kim         TermArg
1265493deb39SJung-uk Kim         ',' SuperName
12665f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,
12675f9b24faSJung-uk Kim                                             TrSetOpFlags ($6, OP_IS_TARGET));}
12681cc50d6bSJung-uk Kim     | PARSEOP_STORE
12691cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
12701cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1271493deb39SJung-uk Kim     ;
1272493deb39SJung-uk Kim 
1273493deb39SJung-uk Kim SubtractTerm
12741cc50d6bSJung-uk Kim     : PARSEOP_SUBTRACT
12755f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SUBTRACT);}
1276493deb39SJung-uk Kim         TermArg
1277493deb39SJung-uk Kim         TermArgItem
1278493deb39SJung-uk Kim         Target
12795f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
12801cc50d6bSJung-uk Kim     | PARSEOP_SUBTRACT
12811cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
12821cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1283493deb39SJung-uk Kim     ;
1284493deb39SJung-uk Kim 
1285493deb39SJung-uk Kim SwitchTerm
12861cc50d6bSJung-uk Kim     : PARSEOP_SWITCH
12875f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SWITCH);}
1288493deb39SJung-uk Kim         TermArg
12891cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
12905f9b24faSJung-uk Kim             CaseDefaultTermList '}' {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
12911cc50d6bSJung-uk Kim     | PARSEOP_SWITCH
12921cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
12931cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1294493deb39SJung-uk Kim     ;
1295493deb39SJung-uk Kim 
1296493deb39SJung-uk Kim ThermalZoneTerm
12971cc50d6bSJung-uk Kim     : PARSEOP_THERMALZONE
12985f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_THERMALZONE);}
1299493deb39SJung-uk Kim         NameString
13001cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN '{'
13015f9b24faSJung-uk Kim             TermList '}'            {$$ = TrLinkOpChildren ($<n>3,2,
13025f9b24faSJung-uk Kim                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$7);}
13031cc50d6bSJung-uk Kim     | PARSEOP_THERMALZONE
13041cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
13051cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1306493deb39SJung-uk Kim     ;
1307493deb39SJung-uk Kim 
1308493deb39SJung-uk Kim TimerTerm
13091cc50d6bSJung-uk Kim     : PARSEOP_TIMER
13105f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_TIMER);}
13115f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,0);}
13125f9b24faSJung-uk Kim     | PARSEOP_TIMER                 {$$ = TrLinkOpChildren (
13135f9b24faSJung-uk Kim                                         TrCreateLeafOp (PARSEOP_TIMER),0);}
13141cc50d6bSJung-uk Kim     | PARSEOP_TIMER
13151cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
13161cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1317493deb39SJung-uk Kim     ;
1318493deb39SJung-uk Kim 
1319493deb39SJung-uk Kim ToBCDTerm
13201cc50d6bSJung-uk Kim     : PARSEOP_TOBCD
13215f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_TOBCD);}
1322493deb39SJung-uk Kim         TermArg
1323493deb39SJung-uk Kim         Target
13245f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
13251cc50d6bSJung-uk Kim     | PARSEOP_TOBCD
13261cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
13271cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1328493deb39SJung-uk Kim     ;
1329493deb39SJung-uk Kim 
1330493deb39SJung-uk Kim ToBufferTerm
13311cc50d6bSJung-uk Kim     : PARSEOP_TOBUFFER
13325f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_TOBUFFER);}
1333493deb39SJung-uk Kim         TermArg
1334493deb39SJung-uk Kim         Target
13355f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
13361cc50d6bSJung-uk Kim     | PARSEOP_TOBUFFER
13371cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
13381cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1339493deb39SJung-uk Kim     ;
1340493deb39SJung-uk Kim 
1341493deb39SJung-uk Kim ToDecimalStringTerm
13421cc50d6bSJung-uk Kim     : PARSEOP_TODECIMALSTRING
13435f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_TODECIMALSTRING);}
1344493deb39SJung-uk Kim         TermArg
1345493deb39SJung-uk Kim         Target
13465f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
13471cc50d6bSJung-uk Kim     | PARSEOP_TODECIMALSTRING
13481cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
13491cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1350493deb39SJung-uk Kim     ;
1351493deb39SJung-uk Kim 
1352493deb39SJung-uk Kim ToHexStringTerm
13531cc50d6bSJung-uk Kim     : PARSEOP_TOHEXSTRING
13545f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_TOHEXSTRING);}
1355493deb39SJung-uk Kim         TermArg
1356493deb39SJung-uk Kim         Target
13575f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
13581cc50d6bSJung-uk Kim     | PARSEOP_TOHEXSTRING
13591cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
13601cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1361493deb39SJung-uk Kim     ;
1362493deb39SJung-uk Kim 
1363493deb39SJung-uk Kim ToIntegerTerm
13641cc50d6bSJung-uk Kim     : PARSEOP_TOINTEGER
13655f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_TOINTEGER);}
1366493deb39SJung-uk Kim         TermArg
1367493deb39SJung-uk Kim         Target
13685f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
13691cc50d6bSJung-uk Kim     | PARSEOP_TOINTEGER
13701cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
13711cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1372493deb39SJung-uk Kim     ;
1373493deb39SJung-uk Kim 
1374493deb39SJung-uk Kim ToPLDTerm
13751cc50d6bSJung-uk Kim     : PARSEOP_TOPLD
13765f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_TOPLD);}
1377493deb39SJung-uk Kim         PldKeywordList
13785f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
13791cc50d6bSJung-uk Kim     | PARSEOP_TOPLD
13801cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
13811cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1382493deb39SJung-uk Kim     ;
1383493deb39SJung-uk Kim 
1384493deb39SJung-uk Kim PldKeywordList
1385493deb39SJung-uk Kim     :                               {$$ = NULL;}
1386493deb39SJung-uk Kim     | PldKeyword
13875f9b24faSJung-uk Kim         PARSEOP_EXP_EQUALS Integer  {$$ = TrLinkOpChildren ($1,1,$3);}
1388493deb39SJung-uk Kim     | PldKeyword
13895f9b24faSJung-uk Kim         PARSEOP_EXP_EQUALS String   {$$ = TrLinkOpChildren ($1,1,$3);}
1390493deb39SJung-uk Kim     | PldKeywordList ','            /* Allows a trailing comma at list end */
1391493deb39SJung-uk Kim     | PldKeywordList ','
1392493deb39SJung-uk Kim         PldKeyword
13935f9b24faSJung-uk Kim         PARSEOP_EXP_EQUALS Integer  {$$ = TrLinkPeerOp ($1,TrLinkOpChildren ($3,1,$5));}
1394493deb39SJung-uk Kim     | PldKeywordList ','
1395493deb39SJung-uk Kim         PldKeyword
13965f9b24faSJung-uk Kim         PARSEOP_EXP_EQUALS String   {$$ = TrLinkPeerOp ($1,TrLinkOpChildren ($3,1,$5));}
1397493deb39SJung-uk Kim     ;
1398493deb39SJung-uk Kim 
1399493deb39SJung-uk Kim 
1400493deb39SJung-uk Kim ToStringTerm
14011cc50d6bSJung-uk Kim     : PARSEOP_TOSTRING
14025f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_TOSTRING);}
1403493deb39SJung-uk Kim         TermArg
1404493deb39SJung-uk Kim         OptionalCount
1405493deb39SJung-uk Kim         Target
14065f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
14071cc50d6bSJung-uk Kim     | PARSEOP_TOSTRING
14081cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
14091cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1410493deb39SJung-uk Kim     ;
1411493deb39SJung-uk Kim 
1412493deb39SJung-uk Kim ToUUIDTerm
14131cc50d6bSJung-uk Kim     : PARSEOP_TOUUID
14141cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
1415fbde3477SJung-uk Kim         StringLiteral
14165f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrSetOpIntegerValue (PARSEOP_TOUUID, $3);}
14171cc50d6bSJung-uk Kim     | PARSEOP_TOUUID
14181cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
14191cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1420493deb39SJung-uk Kim     ;
1421493deb39SJung-uk Kim 
1422493deb39SJung-uk Kim UnicodeTerm
14231cc50d6bSJung-uk Kim     : PARSEOP_UNICODE
14245f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_UNICODE);}
1425fbde3477SJung-uk Kim         StringLiteral
14265f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,0,$4);}
14271cc50d6bSJung-uk Kim     | PARSEOP_UNICODE
14281cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
14291cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1430493deb39SJung-uk Kim     ;
1431493deb39SJung-uk Kim 
1432493deb39SJung-uk Kim UnloadTerm
14331cc50d6bSJung-uk Kim     : PARSEOP_UNLOAD
14345f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_UNLOAD);}
1435493deb39SJung-uk Kim         SuperName
14365f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,1,$4);}
14371cc50d6bSJung-uk Kim     | PARSEOP_UNLOAD
14381cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
14391cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1440493deb39SJung-uk Kim     ;
1441493deb39SJung-uk Kim 
1442493deb39SJung-uk Kim WaitTerm
14431cc50d6bSJung-uk Kim     : PARSEOP_WAIT
14445f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WAIT);}
1445493deb39SJung-uk Kim         SuperName
1446493deb39SJung-uk Kim         TermArgItem
14475f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
14481cc50d6bSJung-uk Kim     | PARSEOP_WAIT
14491cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
14501cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1451493deb39SJung-uk Kim     ;
1452493deb39SJung-uk Kim 
1453493deb39SJung-uk Kim XOrTerm
14541cc50d6bSJung-uk Kim     : PARSEOP_XOR
14555f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_XOR);}
1456493deb39SJung-uk Kim         TermArg
1457493deb39SJung-uk Kim         TermArgItem
1458493deb39SJung-uk Kim         Target
14595f9b24faSJung-uk Kim         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,3,$4,$5,$6);}
14601cc50d6bSJung-uk Kim     | PARSEOP_XOR
14611cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
14621cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1463493deb39SJung-uk Kim     ;
1464493deb39SJung-uk Kim 
1465493deb39SJung-uk Kim WhileTerm
14661cc50d6bSJung-uk Kim     : PARSEOP_WHILE
14675f9b24faSJung-uk Kim         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WHILE);}
1468493deb39SJung-uk Kim         TermArg
14691cc50d6bSJung-uk Kim         PARSEOP_CLOSE_PAREN
14705f9b24faSJung-uk Kim             '{' TermList '}'        {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
14711cc50d6bSJung-uk Kim     | PARSEOP_WHILE
14721cc50d6bSJung-uk Kim         PARSEOP_OPEN_PAREN
14731cc50d6bSJung-uk Kim         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
1474493deb39SJung-uk Kim     ;
1475