Home | History | Annotate | Line # | Download | only in compiler
aslprimaries.y revision 1.1.1.1.2.2
      1  1.1.1.1.2.2  skrll NoEcho('
      2  1.1.1.1.2.2  skrll /******************************************************************************
      3  1.1.1.1.2.2  skrll  *
      4  1.1.1.1.2.2  skrll  * Module Name: aslprimaries.y - Rules for primary ASL operators
      5  1.1.1.1.2.2  skrll  *
      6  1.1.1.1.2.2  skrll  *****************************************************************************/
      7  1.1.1.1.2.2  skrll 
      8  1.1.1.1.2.2  skrll /*
      9  1.1.1.1.2.2  skrll  * Copyright (C) 2000 - 2016, Intel Corp.
     10  1.1.1.1.2.2  skrll  * All rights reserved.
     11  1.1.1.1.2.2  skrll  *
     12  1.1.1.1.2.2  skrll  * Redistribution and use in source and binary forms, with or without
     13  1.1.1.1.2.2  skrll  * modification, are permitted provided that the following conditions
     14  1.1.1.1.2.2  skrll  * are met:
     15  1.1.1.1.2.2  skrll  * 1. Redistributions of source code must retain the above copyright
     16  1.1.1.1.2.2  skrll  *    notice, this list of conditions, and the following disclaimer,
     17  1.1.1.1.2.2  skrll  *    without modification.
     18  1.1.1.1.2.2  skrll  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     19  1.1.1.1.2.2  skrll  *    substantially similar to the "NO WARRANTY" disclaimer below
     20  1.1.1.1.2.2  skrll  *    ("Disclaimer") and any redistribution must be conditioned upon
     21  1.1.1.1.2.2  skrll  *    including a substantially similar Disclaimer requirement for further
     22  1.1.1.1.2.2  skrll  *    binary redistribution.
     23  1.1.1.1.2.2  skrll  * 3. Neither the names of the above-listed copyright holders nor the names
     24  1.1.1.1.2.2  skrll  *    of any contributors may be used to endorse or promote products derived
     25  1.1.1.1.2.2  skrll  *    from this software without specific prior written permission.
     26  1.1.1.1.2.2  skrll  *
     27  1.1.1.1.2.2  skrll  * Alternatively, this software may be distributed under the terms of the
     28  1.1.1.1.2.2  skrll  * GNU General Public License ("GPL") version 2 as published by the Free
     29  1.1.1.1.2.2  skrll  * Software Foundation.
     30  1.1.1.1.2.2  skrll  *
     31  1.1.1.1.2.2  skrll  * NO WARRANTY
     32  1.1.1.1.2.2  skrll  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     33  1.1.1.1.2.2  skrll  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     34  1.1.1.1.2.2  skrll  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
     35  1.1.1.1.2.2  skrll  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     36  1.1.1.1.2.2  skrll  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     37  1.1.1.1.2.2  skrll  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     38  1.1.1.1.2.2  skrll  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     39  1.1.1.1.2.2  skrll  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     40  1.1.1.1.2.2  skrll  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     41  1.1.1.1.2.2  skrll  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     42  1.1.1.1.2.2  skrll  * POSSIBILITY OF SUCH DAMAGES.
     43  1.1.1.1.2.2  skrll  */
     44  1.1.1.1.2.2  skrll 
     45  1.1.1.1.2.2  skrll ')
     46  1.1.1.1.2.2  skrll 
     47  1.1.1.1.2.2  skrll 
     48  1.1.1.1.2.2  skrll /*******************************************************************************
     49  1.1.1.1.2.2  skrll  *
     50  1.1.1.1.2.2  skrll  * ASL Primary Terms
     51  1.1.1.1.2.2  skrll  *
     52  1.1.1.1.2.2  skrll  ******************************************************************************/
     53  1.1.1.1.2.2  skrll 
     54  1.1.1.1.2.2  skrll AccessAsTerm
     55  1.1.1.1.2.2  skrll     : PARSEOP_ACCESSAS '('
     56  1.1.1.1.2.2  skrll         AccessTypeKeyword
     57  1.1.1.1.2.2  skrll         OptionalAccessAttribTerm
     58  1.1.1.1.2.2  skrll         ')'                         {$$ = TrCreateNode (PARSEOP_ACCESSAS,2,$3,$4);}
     59  1.1.1.1.2.2  skrll     | PARSEOP_ACCESSAS '('
     60  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
     61  1.1.1.1.2.2  skrll     ;
     62  1.1.1.1.2.2  skrll 
     63  1.1.1.1.2.2  skrll AcquireTerm
     64  1.1.1.1.2.2  skrll     : PARSEOP_ACQUIRE '('           {$<n>$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
     65  1.1.1.1.2.2  skrll         SuperName
     66  1.1.1.1.2.2  skrll         ',' WordConstExpr
     67  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$6);}
     68  1.1.1.1.2.2  skrll     | PARSEOP_ACQUIRE '('
     69  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
     70  1.1.1.1.2.2  skrll     ;
     71  1.1.1.1.2.2  skrll 
     72  1.1.1.1.2.2  skrll AddTerm
     73  1.1.1.1.2.2  skrll     : PARSEOP_ADD '('               {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
     74  1.1.1.1.2.2  skrll         TermArg
     75  1.1.1.1.2.2  skrll         TermArgItem
     76  1.1.1.1.2.2  skrll         Target
     77  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
     78  1.1.1.1.2.2  skrll     | PARSEOP_ADD '('
     79  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
     80  1.1.1.1.2.2  skrll     ;
     81  1.1.1.1.2.2  skrll 
     82  1.1.1.1.2.2  skrll AliasTerm
     83  1.1.1.1.2.2  skrll     : PARSEOP_ALIAS '('             {$<n>$ = TrCreateLeafNode (PARSEOP_ALIAS);}
     84  1.1.1.1.2.2  skrll         NameString
     85  1.1.1.1.2.2  skrll         NameStringItem
     86  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,
     87  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($5, NODE_IS_NAME_DECLARATION));}
     88  1.1.1.1.2.2  skrll     | PARSEOP_ALIAS '('
     89  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
     90  1.1.1.1.2.2  skrll     ;
     91  1.1.1.1.2.2  skrll 
     92  1.1.1.1.2.2  skrll AndTerm
     93  1.1.1.1.2.2  skrll     : PARSEOP_AND '('               {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
     94  1.1.1.1.2.2  skrll         TermArg
     95  1.1.1.1.2.2  skrll         TermArgItem
     96  1.1.1.1.2.2  skrll         Target
     97  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
     98  1.1.1.1.2.2  skrll     | PARSEOP_AND '('
     99  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    100  1.1.1.1.2.2  skrll     ;
    101  1.1.1.1.2.2  skrll 
    102  1.1.1.1.2.2  skrll ArgTerm
    103  1.1.1.1.2.2  skrll     : PARSEOP_ARG0                  {$$ = TrCreateLeafNode (PARSEOP_ARG0);}
    104  1.1.1.1.2.2  skrll     | PARSEOP_ARG1                  {$$ = TrCreateLeafNode (PARSEOP_ARG1);}
    105  1.1.1.1.2.2  skrll     | PARSEOP_ARG2                  {$$ = TrCreateLeafNode (PARSEOP_ARG2);}
    106  1.1.1.1.2.2  skrll     | PARSEOP_ARG3                  {$$ = TrCreateLeafNode (PARSEOP_ARG3);}
    107  1.1.1.1.2.2  skrll     | PARSEOP_ARG4                  {$$ = TrCreateLeafNode (PARSEOP_ARG4);}
    108  1.1.1.1.2.2  skrll     | PARSEOP_ARG5                  {$$ = TrCreateLeafNode (PARSEOP_ARG5);}
    109  1.1.1.1.2.2  skrll     | PARSEOP_ARG6                  {$$ = TrCreateLeafNode (PARSEOP_ARG6);}
    110  1.1.1.1.2.2  skrll     ;
    111  1.1.1.1.2.2  skrll 
    112  1.1.1.1.2.2  skrll BankFieldTerm
    113  1.1.1.1.2.2  skrll     : PARSEOP_BANKFIELD '('         {$<n>$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
    114  1.1.1.1.2.2  skrll         NameString
    115  1.1.1.1.2.2  skrll         NameStringItem
    116  1.1.1.1.2.2  skrll         TermArgItem
    117  1.1.1.1.2.2  skrll         ',' AccessTypeKeyword
    118  1.1.1.1.2.2  skrll         ',' LockRuleKeyword
    119  1.1.1.1.2.2  skrll         ',' UpdateRuleKeyword
    120  1.1.1.1.2.2  skrll         ')' '{'
    121  1.1.1.1.2.2  skrll             FieldUnitList '}'       {$$ = TrLinkChildren ($<n>3,7,
    122  1.1.1.1.2.2  skrll                                         $4,$5,$6,$8,$10,$12,$15);}
    123  1.1.1.1.2.2  skrll     | PARSEOP_BANKFIELD '('
    124  1.1.1.1.2.2  skrll         error ')' '{' error '}'     {$$ = AslDoError(); yyclearin;}
    125  1.1.1.1.2.2  skrll     ;
    126  1.1.1.1.2.2  skrll 
    127  1.1.1.1.2.2  skrll BreakTerm
    128  1.1.1.1.2.2  skrll     : PARSEOP_BREAK                 {$$ = TrCreateNode (PARSEOP_BREAK, 0);}
    129  1.1.1.1.2.2  skrll     ;
    130  1.1.1.1.2.2  skrll 
    131  1.1.1.1.2.2  skrll BreakPointTerm
    132  1.1.1.1.2.2  skrll     : PARSEOP_BREAKPOINT            {$$ = TrCreateNode (PARSEOP_BREAKPOINT, 0);}
    133  1.1.1.1.2.2  skrll     ;
    134  1.1.1.1.2.2  skrll 
    135  1.1.1.1.2.2  skrll BufferTerm
    136  1.1.1.1.2.2  skrll     : PARSEOP_BUFFER                {$<n>$ = TrCreateLeafNode (PARSEOP_BUFFER);}
    137  1.1.1.1.2.2  skrll         OptionalDataCount
    138  1.1.1.1.2.2  skrll         '{' BufferTermData '}'      {$$ = TrLinkChildren ($<n>2,2,$3,$5);}
    139  1.1.1.1.2.2  skrll     ;
    140  1.1.1.1.2.2  skrll 
    141  1.1.1.1.2.2  skrll BufferTermData
    142  1.1.1.1.2.2  skrll     : ByteList                      {}
    143  1.1.1.1.2.2  skrll     | StringData                    {}
    144  1.1.1.1.2.2  skrll     ;
    145  1.1.1.1.2.2  skrll 
    146  1.1.1.1.2.2  skrll CaseTerm
    147  1.1.1.1.2.2  skrll     : PARSEOP_CASE '('              {$<n>$ = TrCreateLeafNode (PARSEOP_CASE);}
    148  1.1.1.1.2.2  skrll         DataObject
    149  1.1.1.1.2.2  skrll         ')' '{'
    150  1.1.1.1.2.2  skrll             TermList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
    151  1.1.1.1.2.2  skrll     | PARSEOP_CASE '('
    152  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    153  1.1.1.1.2.2  skrll     ;
    154  1.1.1.1.2.2  skrll 
    155  1.1.1.1.2.2  skrll ConcatTerm
    156  1.1.1.1.2.2  skrll     : PARSEOP_CONCATENATE '('       {$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
    157  1.1.1.1.2.2  skrll         TermArg
    158  1.1.1.1.2.2  skrll         TermArgItem
    159  1.1.1.1.2.2  skrll         Target
    160  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    161  1.1.1.1.2.2  skrll     | PARSEOP_CONCATENATE '('
    162  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    163  1.1.1.1.2.2  skrll     ;
    164  1.1.1.1.2.2  skrll 
    165  1.1.1.1.2.2  skrll ConcatResTerm
    166  1.1.1.1.2.2  skrll     : PARSEOP_CONCATENATERESTEMPLATE '(' {$<n>$ = TrCreateLeafNode (
    167  1.1.1.1.2.2  skrll                                             PARSEOP_CONCATENATERESTEMPLATE);}
    168  1.1.1.1.2.2  skrll         TermArg
    169  1.1.1.1.2.2  skrll         TermArgItem
    170  1.1.1.1.2.2  skrll         Target
    171  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    172  1.1.1.1.2.2  skrll     | PARSEOP_CONCATENATERESTEMPLATE '('
    173  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    174  1.1.1.1.2.2  skrll     ;
    175  1.1.1.1.2.2  skrll 
    176  1.1.1.1.2.2  skrll ConnectionTerm
    177  1.1.1.1.2.2  skrll     : PARSEOP_CONNECTION '('
    178  1.1.1.1.2.2  skrll         NameString
    179  1.1.1.1.2.2  skrll         ')'                         {$$ = TrCreateNode (PARSEOP_CONNECTION,1,$3);}
    180  1.1.1.1.2.2  skrll     | PARSEOP_CONNECTION '('        {$<n>$ = TrCreateLeafNode (PARSEOP_CONNECTION);}
    181  1.1.1.1.2.2  skrll         ResourceMacroTerm
    182  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3, 1,
    183  1.1.1.1.2.2  skrll                                         TrLinkChildren (
    184  1.1.1.1.2.2  skrll                                             TrCreateLeafNode (PARSEOP_RESOURCETEMPLATE), 3,
    185  1.1.1.1.2.2  skrll                                             TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
    186  1.1.1.1.2.2  skrll                                             TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
    187  1.1.1.1.2.2  skrll                                             $4));}
    188  1.1.1.1.2.2  skrll     | PARSEOP_CONNECTION '('
    189  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    190  1.1.1.1.2.2  skrll     ;
    191  1.1.1.1.2.2  skrll 
    192  1.1.1.1.2.2  skrll CondRefOfTerm
    193  1.1.1.1.2.2  skrll     : PARSEOP_CONDREFOF '('         {$<n>$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
    194  1.1.1.1.2.2  skrll         SuperName
    195  1.1.1.1.2.2  skrll         Target
    196  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    197  1.1.1.1.2.2  skrll     | PARSEOP_CONDREFOF '('
    198  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    199  1.1.1.1.2.2  skrll     ;
    200  1.1.1.1.2.2  skrll 
    201  1.1.1.1.2.2  skrll ContinueTerm
    202  1.1.1.1.2.2  skrll     : PARSEOP_CONTINUE              {$$ = TrCreateNode (PARSEOP_CONTINUE, 0);}
    203  1.1.1.1.2.2  skrll     ;
    204  1.1.1.1.2.2  skrll 
    205  1.1.1.1.2.2  skrll CopyObjectTerm
    206  1.1.1.1.2.2  skrll     : PARSEOP_COPYOBJECT '('        {$<n>$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
    207  1.1.1.1.2.2  skrll         TermArg
    208  1.1.1.1.2.2  skrll         ',' SimpleTarget
    209  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,
    210  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($6, NODE_IS_TARGET));}
    211  1.1.1.1.2.2  skrll     | PARSEOP_COPYOBJECT '('
    212  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    213  1.1.1.1.2.2  skrll     ;
    214  1.1.1.1.2.2  skrll 
    215  1.1.1.1.2.2  skrll CreateBitFieldTerm
    216  1.1.1.1.2.2  skrll     : PARSEOP_CREATEBITFIELD '('    {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
    217  1.1.1.1.2.2  skrll         TermArg
    218  1.1.1.1.2.2  skrll         TermArgItem
    219  1.1.1.1.2.2  skrll         NameStringItem
    220  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
    221  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
    222  1.1.1.1.2.2  skrll     | PARSEOP_CREATEBITFIELD '('
    223  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    224  1.1.1.1.2.2  skrll     ;
    225  1.1.1.1.2.2  skrll 
    226  1.1.1.1.2.2  skrll CreateByteFieldTerm
    227  1.1.1.1.2.2  skrll     : PARSEOP_CREATEBYTEFIELD '('   {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
    228  1.1.1.1.2.2  skrll         TermArg
    229  1.1.1.1.2.2  skrll         TermArgItem
    230  1.1.1.1.2.2  skrll         NameStringItem
    231  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
    232  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
    233  1.1.1.1.2.2  skrll     | PARSEOP_CREATEBYTEFIELD '('
    234  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    235  1.1.1.1.2.2  skrll     ;
    236  1.1.1.1.2.2  skrll 
    237  1.1.1.1.2.2  skrll CreateDWordFieldTerm
    238  1.1.1.1.2.2  skrll     : PARSEOP_CREATEDWORDFIELD '('  {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
    239  1.1.1.1.2.2  skrll         TermArg
    240  1.1.1.1.2.2  skrll         TermArgItem
    241  1.1.1.1.2.2  skrll         NameStringItem
    242  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
    243  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
    244  1.1.1.1.2.2  skrll     | PARSEOP_CREATEDWORDFIELD '('
    245  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    246  1.1.1.1.2.2  skrll     ;
    247  1.1.1.1.2.2  skrll 
    248  1.1.1.1.2.2  skrll CreateFieldTerm
    249  1.1.1.1.2.2  skrll     : PARSEOP_CREATEFIELD '('       {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
    250  1.1.1.1.2.2  skrll         TermArg
    251  1.1.1.1.2.2  skrll         TermArgItem
    252  1.1.1.1.2.2  skrll         TermArgItem
    253  1.1.1.1.2.2  skrll         NameStringItem
    254  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,
    255  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($7, NODE_IS_NAME_DECLARATION));}
    256  1.1.1.1.2.2  skrll     | PARSEOP_CREATEFIELD '('
    257  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    258  1.1.1.1.2.2  skrll     ;
    259  1.1.1.1.2.2  skrll 
    260  1.1.1.1.2.2  skrll CreateQWordFieldTerm
    261  1.1.1.1.2.2  skrll     : PARSEOP_CREATEQWORDFIELD '('  {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
    262  1.1.1.1.2.2  skrll         TermArg
    263  1.1.1.1.2.2  skrll         TermArgItem
    264  1.1.1.1.2.2  skrll         NameStringItem
    265  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
    266  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
    267  1.1.1.1.2.2  skrll     | PARSEOP_CREATEQWORDFIELD '('
    268  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    269  1.1.1.1.2.2  skrll     ;
    270  1.1.1.1.2.2  skrll 
    271  1.1.1.1.2.2  skrll CreateWordFieldTerm
    272  1.1.1.1.2.2  skrll     : PARSEOP_CREATEWORDFIELD '('   {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
    273  1.1.1.1.2.2  skrll         TermArg
    274  1.1.1.1.2.2  skrll         TermArgItem
    275  1.1.1.1.2.2  skrll         NameStringItem
    276  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
    277  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
    278  1.1.1.1.2.2  skrll     | PARSEOP_CREATEWORDFIELD '('
    279  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    280  1.1.1.1.2.2  skrll     ;
    281  1.1.1.1.2.2  skrll 
    282  1.1.1.1.2.2  skrll DataRegionTerm
    283  1.1.1.1.2.2  skrll     : PARSEOP_DATATABLEREGION '('   {$<n>$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
    284  1.1.1.1.2.2  skrll         NameString
    285  1.1.1.1.2.2  skrll         TermArgItem
    286  1.1.1.1.2.2  skrll         TermArgItem
    287  1.1.1.1.2.2  skrll         TermArgItem
    288  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,4,
    289  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$5,$6,$7);}
    290  1.1.1.1.2.2  skrll     | PARSEOP_DATATABLEREGION '('
    291  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    292  1.1.1.1.2.2  skrll     ;
    293  1.1.1.1.2.2  skrll 
    294  1.1.1.1.2.2  skrll DebugTerm
    295  1.1.1.1.2.2  skrll     : PARSEOP_DEBUG                 {$$ = TrCreateLeafNode (PARSEOP_DEBUG);}
    296  1.1.1.1.2.2  skrll     ;
    297  1.1.1.1.2.2  skrll 
    298  1.1.1.1.2.2  skrll DecTerm
    299  1.1.1.1.2.2  skrll     : PARSEOP_DECREMENT '('         {$<n>$ = TrCreateLeafNode (PARSEOP_DECREMENT);}
    300  1.1.1.1.2.2  skrll         SuperName
    301  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    302  1.1.1.1.2.2  skrll     | PARSEOP_DECREMENT '('
    303  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    304  1.1.1.1.2.2  skrll     ;
    305  1.1.1.1.2.2  skrll 
    306  1.1.1.1.2.2  skrll DefaultTerm
    307  1.1.1.1.2.2  skrll     : PARSEOP_DEFAULT '{'           {$<n>$ = TrCreateLeafNode (PARSEOP_DEFAULT);}
    308  1.1.1.1.2.2  skrll         TermList '}'                {$$ = TrLinkChildren ($<n>3,1,$4);}
    309  1.1.1.1.2.2  skrll     | PARSEOP_DEFAULT '{'
    310  1.1.1.1.2.2  skrll         error '}'                   {$$ = AslDoError(); yyclearin;}
    311  1.1.1.1.2.2  skrll     ;
    312  1.1.1.1.2.2  skrll 
    313  1.1.1.1.2.2  skrll DerefOfTerm
    314  1.1.1.1.2.2  skrll     : PARSEOP_DEREFOF '('           {$<n>$ = TrCreateLeafNode (PARSEOP_DEREFOF);}
    315  1.1.1.1.2.2  skrll         TermArg
    316  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    317  1.1.1.1.2.2  skrll     | PARSEOP_DEREFOF '('
    318  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    319  1.1.1.1.2.2  skrll     ;
    320  1.1.1.1.2.2  skrll 
    321  1.1.1.1.2.2  skrll DeviceTerm
    322  1.1.1.1.2.2  skrll     : PARSEOP_DEVICE '('            {$<n>$ = TrCreateLeafNode (PARSEOP_DEVICE);}
    323  1.1.1.1.2.2  skrll         NameString
    324  1.1.1.1.2.2  skrll         ')' '{'
    325  1.1.1.1.2.2  skrll             TermList '}'            {$$ = TrLinkChildren ($<n>3,2,
    326  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
    327  1.1.1.1.2.2  skrll     | PARSEOP_DEVICE '('
    328  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    329  1.1.1.1.2.2  skrll     ;
    330  1.1.1.1.2.2  skrll 
    331  1.1.1.1.2.2  skrll DivideTerm
    332  1.1.1.1.2.2  skrll     : PARSEOP_DIVIDE '('            {$<n>$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
    333  1.1.1.1.2.2  skrll         TermArg
    334  1.1.1.1.2.2  skrll         TermArgItem
    335  1.1.1.1.2.2  skrll         Target
    336  1.1.1.1.2.2  skrll         Target
    337  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
    338  1.1.1.1.2.2  skrll     | PARSEOP_DIVIDE '('
    339  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    340  1.1.1.1.2.2  skrll     ;
    341  1.1.1.1.2.2  skrll 
    342  1.1.1.1.2.2  skrll EISAIDTerm
    343  1.1.1.1.2.2  skrll     : PARSEOP_EISAID '('
    344  1.1.1.1.2.2  skrll         StringData ')'              {$$ = TrUpdateNode (PARSEOP_EISAID, $3);}
    345  1.1.1.1.2.2  skrll     | PARSEOP_EISAID '('
    346  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    347  1.1.1.1.2.2  skrll     ;
    348  1.1.1.1.2.2  skrll 
    349  1.1.1.1.2.2  skrll ElseIfTerm
    350  1.1.1.1.2.2  skrll     : IfTerm ElseTerm               {$$ = TrLinkPeerNode ($1,$2);}
    351  1.1.1.1.2.2  skrll     ;
    352  1.1.1.1.2.2  skrll 
    353  1.1.1.1.2.2  skrll ElseTerm
    354  1.1.1.1.2.2  skrll     :                               {$$ = NULL;}
    355  1.1.1.1.2.2  skrll     | PARSEOP_ELSE '{'              {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
    356  1.1.1.1.2.2  skrll         TermList '}'                {$$ = TrLinkChildren ($<n>3,1,$4);}
    357  1.1.1.1.2.2  skrll 
    358  1.1.1.1.2.2  skrll     | PARSEOP_ELSE '{'
    359  1.1.1.1.2.2  skrll         error '}'                   {$$ = AslDoError(); yyclearin;}
    360  1.1.1.1.2.2  skrll 
    361  1.1.1.1.2.2  skrll     | PARSEOP_ELSE
    362  1.1.1.1.2.2  skrll         error                       {$$ = AslDoError(); yyclearin;}
    363  1.1.1.1.2.2  skrll 
    364  1.1.1.1.2.2  skrll     | PARSEOP_ELSEIF '('            {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
    365  1.1.1.1.2.2  skrll         TermArg                     {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
    366  1.1.1.1.2.2  skrll         ')' '{'
    367  1.1.1.1.2.2  skrll             TermList '}'            {TrLinkChildren ($<n>5,2,$4,$8);}
    368  1.1.1.1.2.2  skrll         ElseTerm                    {TrLinkPeerNode ($<n>5,$11);}
    369  1.1.1.1.2.2  skrll                                     {$$ = TrLinkChildren ($<n>3,1,$<n>5);}
    370  1.1.1.1.2.2  skrll 
    371  1.1.1.1.2.2  skrll     | PARSEOP_ELSEIF '('
    372  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    373  1.1.1.1.2.2  skrll 
    374  1.1.1.1.2.2  skrll     | PARSEOP_ELSEIF
    375  1.1.1.1.2.2  skrll         error                       {$$ = AslDoError(); yyclearin;}
    376  1.1.1.1.2.2  skrll     ;
    377  1.1.1.1.2.2  skrll 
    378  1.1.1.1.2.2  skrll EventTerm
    379  1.1.1.1.2.2  skrll     : PARSEOP_EVENT '('             {$<n>$ = TrCreateLeafNode (PARSEOP_EVENT);}
    380  1.1.1.1.2.2  skrll         NameString
    381  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,
    382  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION));}
    383  1.1.1.1.2.2  skrll     | PARSEOP_EVENT '('
    384  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    385  1.1.1.1.2.2  skrll     ;
    386  1.1.1.1.2.2  skrll 
    387  1.1.1.1.2.2  skrll ExternalTerm
    388  1.1.1.1.2.2  skrll     : PARSEOP_EXTERNAL '('
    389  1.1.1.1.2.2  skrll         NameString
    390  1.1.1.1.2.2  skrll         OptionalObjectTypeKeyword
    391  1.1.1.1.2.2  skrll         OptionalParameterTypePackage
    392  1.1.1.1.2.2  skrll         OptionalParameterTypesPackage
    393  1.1.1.1.2.2  skrll         ')'                         {$$ = TrCreateNode (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);}
    394  1.1.1.1.2.2  skrll     | PARSEOP_EXTERNAL '('
    395  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    396  1.1.1.1.2.2  skrll     ;
    397  1.1.1.1.2.2  skrll 
    398  1.1.1.1.2.2  skrll FatalTerm
    399  1.1.1.1.2.2  skrll     : PARSEOP_FATAL '('             {$<n>$ = TrCreateLeafNode (PARSEOP_FATAL);}
    400  1.1.1.1.2.2  skrll         ByteConstExpr
    401  1.1.1.1.2.2  skrll         ',' DWordConstExpr
    402  1.1.1.1.2.2  skrll         TermArgItem
    403  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
    404  1.1.1.1.2.2  skrll     | PARSEOP_FATAL '('
    405  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    406  1.1.1.1.2.2  skrll     ;
    407  1.1.1.1.2.2  skrll 
    408  1.1.1.1.2.2  skrll FieldTerm
    409  1.1.1.1.2.2  skrll     : PARSEOP_FIELD '('             {$<n>$ = TrCreateLeafNode (PARSEOP_FIELD);}
    410  1.1.1.1.2.2  skrll         NameString
    411  1.1.1.1.2.2  skrll         ',' AccessTypeKeyword
    412  1.1.1.1.2.2  skrll         ',' LockRuleKeyword
    413  1.1.1.1.2.2  skrll         ',' UpdateRuleKeyword
    414  1.1.1.1.2.2  skrll         ')' '{'
    415  1.1.1.1.2.2  skrll             FieldUnitList '}'       {$$ = TrLinkChildren ($<n>3,5,$4,$6,$8,$10,$13);}
    416  1.1.1.1.2.2  skrll     | PARSEOP_FIELD '('
    417  1.1.1.1.2.2  skrll         error ')' '{' error '}'     {$$ = AslDoError(); yyclearin;}
    418  1.1.1.1.2.2  skrll     ;
    419  1.1.1.1.2.2  skrll 
    420  1.1.1.1.2.2  skrll FindSetLeftBitTerm
    421  1.1.1.1.2.2  skrll     : PARSEOP_FINDSETLEFTBIT '('    {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETLEFTBIT);}
    422  1.1.1.1.2.2  skrll         TermArg
    423  1.1.1.1.2.2  skrll         Target
    424  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    425  1.1.1.1.2.2  skrll     | PARSEOP_FINDSETLEFTBIT '('
    426  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    427  1.1.1.1.2.2  skrll     ;
    428  1.1.1.1.2.2  skrll 
    429  1.1.1.1.2.2  skrll FindSetRightBitTerm
    430  1.1.1.1.2.2  skrll     : PARSEOP_FINDSETRIGHTBIT '('   {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETRIGHTBIT);}
    431  1.1.1.1.2.2  skrll         TermArg
    432  1.1.1.1.2.2  skrll         Target
    433  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    434  1.1.1.1.2.2  skrll     | PARSEOP_FINDSETRIGHTBIT '('
    435  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    436  1.1.1.1.2.2  skrll     ;
    437  1.1.1.1.2.2  skrll 
    438  1.1.1.1.2.2  skrll     /* Convert a For() loop to a While() loop */
    439  1.1.1.1.2.2  skrll ForTerm
    440  1.1.1.1.2.2  skrll     : PARSEOP_FOR '('               {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
    441  1.1.1.1.2.2  skrll         OptionalTermArg ','         {}
    442  1.1.1.1.2.2  skrll         OptionalPredicate ','
    443  1.1.1.1.2.2  skrll         OptionalTermArg             {$<n>$ = TrLinkPeerNode ($4,$<n>3);
    444  1.1.1.1.2.2  skrll                                         TrSetParent ($9,$<n>3);}                /* New parent is WHILE */
    445  1.1.1.1.2.2  skrll         ')' '{' TermList '}'        {$<n>$ = TrLinkChildren ($<n>3,2,$7,$13);}
    446  1.1.1.1.2.2  skrll                                     {$<n>$ = TrLinkPeerNode ($13,$9);
    447  1.1.1.1.2.2  skrll                                         $$ = $<n>10;}
    448  1.1.1.1.2.2  skrll     ;
    449  1.1.1.1.2.2  skrll 
    450  1.1.1.1.2.2  skrll OptionalPredicate
    451  1.1.1.1.2.2  skrll     :                               {$$ = TrCreateValuedLeafNode (PARSEOP_INTEGER, 1);}
    452  1.1.1.1.2.2  skrll     | TermArg                       {$$ = $1;}
    453  1.1.1.1.2.2  skrll     ;
    454  1.1.1.1.2.2  skrll 
    455  1.1.1.1.2.2  skrll FprintfTerm
    456  1.1.1.1.2.2  skrll     : PARSEOP_FPRINTF '('            {$<n>$ = TrCreateLeafNode (PARSEOP_FPRINTF);}
    457  1.1.1.1.2.2  skrll         TermArg ','
    458  1.1.1.1.2.2  skrll         StringData
    459  1.1.1.1.2.2  skrll         PrintfArgList
    460  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
    461  1.1.1.1.2.2  skrll     | PARSEOP_FPRINTF '('
    462  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    463  1.1.1.1.2.2  skrll     ;
    464  1.1.1.1.2.2  skrll 
    465  1.1.1.1.2.2  skrll FromBCDTerm
    466  1.1.1.1.2.2  skrll     : PARSEOP_FROMBCD '('           {$<n>$ = TrCreateLeafNode (PARSEOP_FROMBCD);}
    467  1.1.1.1.2.2  skrll         TermArg
    468  1.1.1.1.2.2  skrll         Target
    469  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    470  1.1.1.1.2.2  skrll     | PARSEOP_FROMBCD '('
    471  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    472  1.1.1.1.2.2  skrll     ;
    473  1.1.1.1.2.2  skrll 
    474  1.1.1.1.2.2  skrll FunctionTerm
    475  1.1.1.1.2.2  skrll     : PARSEOP_FUNCTION '('          {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
    476  1.1.1.1.2.2  skrll         NameString
    477  1.1.1.1.2.2  skrll         OptionalParameterTypePackage
    478  1.1.1.1.2.2  skrll         OptionalParameterTypesPackage
    479  1.1.1.1.2.2  skrll         ')' '{'
    480  1.1.1.1.2.2  skrll             TermList '}'            {$$ = TrLinkChildren ($<n>3,7,
    481  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
    482  1.1.1.1.2.2  skrll                                         TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),
    483  1.1.1.1.2.2  skrll                                         TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL),
    484  1.1.1.1.2.2  skrll                                         TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),$5,$6,$9);}
    485  1.1.1.1.2.2  skrll     | PARSEOP_FUNCTION '('
    486  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    487  1.1.1.1.2.2  skrll     ;
    488  1.1.1.1.2.2  skrll 
    489  1.1.1.1.2.2  skrll IfTerm
    490  1.1.1.1.2.2  skrll     : PARSEOP_IF '('                {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
    491  1.1.1.1.2.2  skrll         TermArg
    492  1.1.1.1.2.2  skrll         ')' '{'
    493  1.1.1.1.2.2  skrll             TermList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
    494  1.1.1.1.2.2  skrll 
    495  1.1.1.1.2.2  skrll     | PARSEOP_IF '('
    496  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    497  1.1.1.1.2.2  skrll     ;
    498  1.1.1.1.2.2  skrll 
    499  1.1.1.1.2.2  skrll IncludeTerm
    500  1.1.1.1.2.2  skrll     : PARSEOP_INCLUDE '('
    501  1.1.1.1.2.2  skrll         String  ')'                 {$$ = TrUpdateNode (PARSEOP_INCLUDE, $3);
    502  1.1.1.1.2.2  skrll                                         FlOpenIncludeFile ($3);}
    503  1.1.1.1.2.2  skrll     ;
    504  1.1.1.1.2.2  skrll 
    505  1.1.1.1.2.2  skrll IncludeEndTerm
    506  1.1.1.1.2.2  skrll     : PARSEOP_INCLUDE_END           {$<n>$ = TrCreateLeafNode (PARSEOP_INCLUDE_END);
    507  1.1.1.1.2.2  skrll                                         TrSetCurrentFilename ($$);}
    508  1.1.1.1.2.2  skrll     ;
    509  1.1.1.1.2.2  skrll 
    510  1.1.1.1.2.2  skrll IncTerm
    511  1.1.1.1.2.2  skrll     : PARSEOP_INCREMENT '('         {$<n>$ = TrCreateLeafNode (PARSEOP_INCREMENT);}
    512  1.1.1.1.2.2  skrll         SuperName
    513  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    514  1.1.1.1.2.2  skrll     | PARSEOP_INCREMENT '('
    515  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    516  1.1.1.1.2.2  skrll     ;
    517  1.1.1.1.2.2  skrll 
    518  1.1.1.1.2.2  skrll IndexFieldTerm
    519  1.1.1.1.2.2  skrll     : PARSEOP_INDEXFIELD '('        {$<n>$ = TrCreateLeafNode (PARSEOP_INDEXFIELD);}
    520  1.1.1.1.2.2  skrll         NameString
    521  1.1.1.1.2.2  skrll         NameStringItem
    522  1.1.1.1.2.2  skrll         ',' AccessTypeKeyword
    523  1.1.1.1.2.2  skrll         ',' LockRuleKeyword
    524  1.1.1.1.2.2  skrll         ',' UpdateRuleKeyword
    525  1.1.1.1.2.2  skrll         ')' '{'
    526  1.1.1.1.2.2  skrll             FieldUnitList '}'       {$$ = TrLinkChildren ($<n>3,6,$4,$5,$7,$9,$11,$14);}
    527  1.1.1.1.2.2  skrll     | PARSEOP_INDEXFIELD '('
    528  1.1.1.1.2.2  skrll         error ')' '{' error '}'     {$$ = AslDoError(); yyclearin;}
    529  1.1.1.1.2.2  skrll     ;
    530  1.1.1.1.2.2  skrll 
    531  1.1.1.1.2.2  skrll IndexTerm
    532  1.1.1.1.2.2  skrll     : PARSEOP_INDEX '('             {$<n>$ = TrCreateLeafNode (PARSEOP_INDEX);}
    533  1.1.1.1.2.2  skrll         TermArg
    534  1.1.1.1.2.2  skrll         TermArgItem
    535  1.1.1.1.2.2  skrll         Target
    536  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    537  1.1.1.1.2.2  skrll     | PARSEOP_INDEX '('
    538  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    539  1.1.1.1.2.2  skrll     ;
    540  1.1.1.1.2.2  skrll 
    541  1.1.1.1.2.2  skrll LAndTerm
    542  1.1.1.1.2.2  skrll     : PARSEOP_LAND '('              {$<n>$ = TrCreateLeafNode (PARSEOP_LAND);}
    543  1.1.1.1.2.2  skrll         TermArg
    544  1.1.1.1.2.2  skrll         TermArgItem
    545  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    546  1.1.1.1.2.2  skrll     | PARSEOP_LAND '('
    547  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    548  1.1.1.1.2.2  skrll     ;
    549  1.1.1.1.2.2  skrll 
    550  1.1.1.1.2.2  skrll LEqualTerm
    551  1.1.1.1.2.2  skrll     : PARSEOP_LEQUAL '('            {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
    552  1.1.1.1.2.2  skrll         TermArg
    553  1.1.1.1.2.2  skrll         TermArgItem
    554  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    555  1.1.1.1.2.2  skrll     | PARSEOP_LEQUAL '('
    556  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    557  1.1.1.1.2.2  skrll     ;
    558  1.1.1.1.2.2  skrll 
    559  1.1.1.1.2.2  skrll LGreaterEqualTerm
    560  1.1.1.1.2.2  skrll     : PARSEOP_LGREATEREQUAL '('     {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
    561  1.1.1.1.2.2  skrll         TermArg
    562  1.1.1.1.2.2  skrll         TermArgItem
    563  1.1.1.1.2.2  skrll         ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1,
    564  1.1.1.1.2.2  skrll                                         TrLinkChildren ($<n>3,2,$4,$5));}
    565  1.1.1.1.2.2  skrll     | PARSEOP_LGREATEREQUAL '('
    566  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    567  1.1.1.1.2.2  skrll     ;
    568  1.1.1.1.2.2  skrll 
    569  1.1.1.1.2.2  skrll LGreaterTerm
    570  1.1.1.1.2.2  skrll     : PARSEOP_LGREATER '('          {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
    571  1.1.1.1.2.2  skrll         TermArg
    572  1.1.1.1.2.2  skrll         TermArgItem
    573  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    574  1.1.1.1.2.2  skrll     | PARSEOP_LGREATER '('
    575  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    576  1.1.1.1.2.2  skrll     ;
    577  1.1.1.1.2.2  skrll 
    578  1.1.1.1.2.2  skrll LLessEqualTerm
    579  1.1.1.1.2.2  skrll     : PARSEOP_LLESSEQUAL '('        {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
    580  1.1.1.1.2.2  skrll         TermArg
    581  1.1.1.1.2.2  skrll         TermArgItem
    582  1.1.1.1.2.2  skrll         ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1,
    583  1.1.1.1.2.2  skrll                                         TrLinkChildren ($<n>3,2,$4,$5));}
    584  1.1.1.1.2.2  skrll     | PARSEOP_LLESSEQUAL '('
    585  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    586  1.1.1.1.2.2  skrll     ;
    587  1.1.1.1.2.2  skrll 
    588  1.1.1.1.2.2  skrll LLessTerm
    589  1.1.1.1.2.2  skrll     : PARSEOP_LLESS '('             {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
    590  1.1.1.1.2.2  skrll         TermArg
    591  1.1.1.1.2.2  skrll         TermArgItem
    592  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    593  1.1.1.1.2.2  skrll     | PARSEOP_LLESS '('
    594  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    595  1.1.1.1.2.2  skrll     ;
    596  1.1.1.1.2.2  skrll 
    597  1.1.1.1.2.2  skrll LNotEqualTerm
    598  1.1.1.1.2.2  skrll     : PARSEOP_LNOTEQUAL '('         {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
    599  1.1.1.1.2.2  skrll         TermArg
    600  1.1.1.1.2.2  skrll         TermArgItem
    601  1.1.1.1.2.2  skrll         ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1,
    602  1.1.1.1.2.2  skrll                                         TrLinkChildren ($<n>3,2,$4,$5));}
    603  1.1.1.1.2.2  skrll     | PARSEOP_LNOTEQUAL '('
    604  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    605  1.1.1.1.2.2  skrll     ;
    606  1.1.1.1.2.2  skrll 
    607  1.1.1.1.2.2  skrll LNotTerm
    608  1.1.1.1.2.2  skrll     : PARSEOP_LNOT '('              {$<n>$ = TrCreateLeafNode (PARSEOP_LNOT);}
    609  1.1.1.1.2.2  skrll         TermArg
    610  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    611  1.1.1.1.2.2  skrll     | PARSEOP_LNOT '('
    612  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    613  1.1.1.1.2.2  skrll     ;
    614  1.1.1.1.2.2  skrll 
    615  1.1.1.1.2.2  skrll LoadTableTerm
    616  1.1.1.1.2.2  skrll     : PARSEOP_LOADTABLE '('         {$<n>$ = TrCreateLeafNode (PARSEOP_LOADTABLE);}
    617  1.1.1.1.2.2  skrll         TermArg
    618  1.1.1.1.2.2  skrll         TermArgItem
    619  1.1.1.1.2.2  skrll         TermArgItem
    620  1.1.1.1.2.2  skrll         OptionalListString
    621  1.1.1.1.2.2  skrll         OptionalListString
    622  1.1.1.1.2.2  skrll         OptionalReference
    623  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$5,$6,$7,$8,$9);}
    624  1.1.1.1.2.2  skrll     | PARSEOP_LOADTABLE '('
    625  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    626  1.1.1.1.2.2  skrll     ;
    627  1.1.1.1.2.2  skrll 
    628  1.1.1.1.2.2  skrll LoadTerm
    629  1.1.1.1.2.2  skrll     : PARSEOP_LOAD '('              {$<n>$ = TrCreateLeafNode (PARSEOP_LOAD);}
    630  1.1.1.1.2.2  skrll         NameString
    631  1.1.1.1.2.2  skrll         RequiredTarget
    632  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    633  1.1.1.1.2.2  skrll     | PARSEOP_LOAD '('
    634  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    635  1.1.1.1.2.2  skrll     ;
    636  1.1.1.1.2.2  skrll 
    637  1.1.1.1.2.2  skrll LocalTerm
    638  1.1.1.1.2.2  skrll     : PARSEOP_LOCAL0                {$$ = TrCreateLeafNode (PARSEOP_LOCAL0);}
    639  1.1.1.1.2.2  skrll     | PARSEOP_LOCAL1                {$$ = TrCreateLeafNode (PARSEOP_LOCAL1);}
    640  1.1.1.1.2.2  skrll     | PARSEOP_LOCAL2                {$$ = TrCreateLeafNode (PARSEOP_LOCAL2);}
    641  1.1.1.1.2.2  skrll     | PARSEOP_LOCAL3                {$$ = TrCreateLeafNode (PARSEOP_LOCAL3);}
    642  1.1.1.1.2.2  skrll     | PARSEOP_LOCAL4                {$$ = TrCreateLeafNode (PARSEOP_LOCAL4);}
    643  1.1.1.1.2.2  skrll     | PARSEOP_LOCAL5                {$$ = TrCreateLeafNode (PARSEOP_LOCAL5);}
    644  1.1.1.1.2.2  skrll     | PARSEOP_LOCAL6                {$$ = TrCreateLeafNode (PARSEOP_LOCAL6);}
    645  1.1.1.1.2.2  skrll     | PARSEOP_LOCAL7                {$$ = TrCreateLeafNode (PARSEOP_LOCAL7);}
    646  1.1.1.1.2.2  skrll     ;
    647  1.1.1.1.2.2  skrll 
    648  1.1.1.1.2.2  skrll LOrTerm
    649  1.1.1.1.2.2  skrll     : PARSEOP_LOR '('               {$<n>$ = TrCreateLeafNode (PARSEOP_LOR);}
    650  1.1.1.1.2.2  skrll         TermArg
    651  1.1.1.1.2.2  skrll         TermArgItem
    652  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    653  1.1.1.1.2.2  skrll     | PARSEOP_LOR '('
    654  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    655  1.1.1.1.2.2  skrll     ;
    656  1.1.1.1.2.2  skrll 
    657  1.1.1.1.2.2  skrll MatchTerm
    658  1.1.1.1.2.2  skrll     : PARSEOP_MATCH '('             {$<n>$ = TrCreateLeafNode (PARSEOP_MATCH);}
    659  1.1.1.1.2.2  skrll         TermArg
    660  1.1.1.1.2.2  skrll         ',' MatchOpKeyword
    661  1.1.1.1.2.2  skrll         TermArgItem
    662  1.1.1.1.2.2  skrll         ',' MatchOpKeyword
    663  1.1.1.1.2.2  skrll         TermArgItem
    664  1.1.1.1.2.2  skrll         TermArgItem
    665  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$7,$9,$10,$11);}
    666  1.1.1.1.2.2  skrll     | PARSEOP_MATCH '('
    667  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    668  1.1.1.1.2.2  skrll     ;
    669  1.1.1.1.2.2  skrll 
    670  1.1.1.1.2.2  skrll MethodTerm
    671  1.1.1.1.2.2  skrll     : PARSEOP_METHOD  '('           {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
    672  1.1.1.1.2.2  skrll         NameString
    673  1.1.1.1.2.2  skrll         OptionalByteConstExpr       {UtCheckIntegerRange ($5, 0, 7);}
    674  1.1.1.1.2.2  skrll         OptionalSerializeRuleKeyword
    675  1.1.1.1.2.2  skrll         OptionalByteConstExpr
    676  1.1.1.1.2.2  skrll         OptionalParameterTypePackage
    677  1.1.1.1.2.2  skrll         OptionalParameterTypesPackage
    678  1.1.1.1.2.2  skrll         ')' '{'
    679  1.1.1.1.2.2  skrll             TermList '}'            {$$ = TrLinkChildren ($<n>3,7,
    680  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
    681  1.1.1.1.2.2  skrll                                         $5,$7,$8,$9,$10,$13);}
    682  1.1.1.1.2.2  skrll     | PARSEOP_METHOD '('
    683  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    684  1.1.1.1.2.2  skrll     ;
    685  1.1.1.1.2.2  skrll 
    686  1.1.1.1.2.2  skrll MidTerm
    687  1.1.1.1.2.2  skrll     : PARSEOP_MID '('               {$<n>$ = TrCreateLeafNode (PARSEOP_MID);}
    688  1.1.1.1.2.2  skrll         TermArg
    689  1.1.1.1.2.2  skrll         TermArgItem
    690  1.1.1.1.2.2  skrll         TermArgItem
    691  1.1.1.1.2.2  skrll         Target
    692  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
    693  1.1.1.1.2.2  skrll     | PARSEOP_MID '('
    694  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    695  1.1.1.1.2.2  skrll     ;
    696  1.1.1.1.2.2  skrll 
    697  1.1.1.1.2.2  skrll ModTerm
    698  1.1.1.1.2.2  skrll     : PARSEOP_MOD '('               {$<n>$ = TrCreateLeafNode (PARSEOP_MOD);}
    699  1.1.1.1.2.2  skrll         TermArg
    700  1.1.1.1.2.2  skrll         TermArgItem
    701  1.1.1.1.2.2  skrll         Target
    702  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    703  1.1.1.1.2.2  skrll     | PARSEOP_MOD '('
    704  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    705  1.1.1.1.2.2  skrll     ;
    706  1.1.1.1.2.2  skrll 
    707  1.1.1.1.2.2  skrll MultiplyTerm
    708  1.1.1.1.2.2  skrll     : PARSEOP_MULTIPLY '('          {$<n>$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
    709  1.1.1.1.2.2  skrll         TermArg
    710  1.1.1.1.2.2  skrll         TermArgItem
    711  1.1.1.1.2.2  skrll         Target
    712  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    713  1.1.1.1.2.2  skrll     | PARSEOP_MULTIPLY '('
    714  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    715  1.1.1.1.2.2  skrll     ;
    716  1.1.1.1.2.2  skrll 
    717  1.1.1.1.2.2  skrll MutexTerm
    718  1.1.1.1.2.2  skrll     : PARSEOP_MUTEX '('             {$<n>$ = TrCreateLeafNode (PARSEOP_MUTEX);}
    719  1.1.1.1.2.2  skrll         NameString
    720  1.1.1.1.2.2  skrll         ',' ByteConstExpr
    721  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,
    722  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
    723  1.1.1.1.2.2  skrll     | PARSEOP_MUTEX '('
    724  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    725  1.1.1.1.2.2  skrll     ;
    726  1.1.1.1.2.2  skrll 
    727  1.1.1.1.2.2  skrll NameTerm
    728  1.1.1.1.2.2  skrll     : PARSEOP_NAME '('              {$<n>$ = TrCreateLeafNode (PARSEOP_NAME);}
    729  1.1.1.1.2.2  skrll         NameString
    730  1.1.1.1.2.2  skrll         ',' DataObject
    731  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,
    732  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
    733  1.1.1.1.2.2  skrll     | PARSEOP_NAME '('
    734  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    735  1.1.1.1.2.2  skrll     ;
    736  1.1.1.1.2.2  skrll 
    737  1.1.1.1.2.2  skrll NAndTerm
    738  1.1.1.1.2.2  skrll     : PARSEOP_NAND '('              {$<n>$ = TrCreateLeafNode (PARSEOP_NAND);}
    739  1.1.1.1.2.2  skrll         TermArg
    740  1.1.1.1.2.2  skrll         TermArgItem
    741  1.1.1.1.2.2  skrll         Target
    742  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    743  1.1.1.1.2.2  skrll     | PARSEOP_NAND '('
    744  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    745  1.1.1.1.2.2  skrll     ;
    746  1.1.1.1.2.2  skrll 
    747  1.1.1.1.2.2  skrll NoOpTerm
    748  1.1.1.1.2.2  skrll     : PARSEOP_NOOP                  {$$ = TrCreateNode (PARSEOP_NOOP, 0);}
    749  1.1.1.1.2.2  skrll     ;
    750  1.1.1.1.2.2  skrll 
    751  1.1.1.1.2.2  skrll NOrTerm
    752  1.1.1.1.2.2  skrll     : PARSEOP_NOR '('               {$<n>$ = TrCreateLeafNode (PARSEOP_NOR);}
    753  1.1.1.1.2.2  skrll         TermArg
    754  1.1.1.1.2.2  skrll         TermArgItem
    755  1.1.1.1.2.2  skrll         Target
    756  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    757  1.1.1.1.2.2  skrll     | PARSEOP_NOR '('
    758  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    759  1.1.1.1.2.2  skrll     ;
    760  1.1.1.1.2.2  skrll 
    761  1.1.1.1.2.2  skrll NotifyTerm
    762  1.1.1.1.2.2  skrll     : PARSEOP_NOTIFY '('            {$<n>$ = TrCreateLeafNode (PARSEOP_NOTIFY);}
    763  1.1.1.1.2.2  skrll         SuperName
    764  1.1.1.1.2.2  skrll         TermArgItem
    765  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    766  1.1.1.1.2.2  skrll     | PARSEOP_NOTIFY '('
    767  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    768  1.1.1.1.2.2  skrll     ;
    769  1.1.1.1.2.2  skrll 
    770  1.1.1.1.2.2  skrll NotTerm
    771  1.1.1.1.2.2  skrll     : PARSEOP_NOT '('               {$<n>$ = TrCreateLeafNode (PARSEOP_NOT);}
    772  1.1.1.1.2.2  skrll         TermArg
    773  1.1.1.1.2.2  skrll         Target
    774  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    775  1.1.1.1.2.2  skrll     | PARSEOP_NOT '('
    776  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    777  1.1.1.1.2.2  skrll     ;
    778  1.1.1.1.2.2  skrll 
    779  1.1.1.1.2.2  skrll ObjectTypeTerm
    780  1.1.1.1.2.2  skrll     : PARSEOP_OBJECTTYPE '('        {$<n>$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE);}
    781  1.1.1.1.2.2  skrll         ObjectTypeName
    782  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    783  1.1.1.1.2.2  skrll     | PARSEOP_OBJECTTYPE '('
    784  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    785  1.1.1.1.2.2  skrll     ;
    786  1.1.1.1.2.2  skrll 
    787  1.1.1.1.2.2  skrll OffsetTerm
    788  1.1.1.1.2.2  skrll     : PARSEOP_OFFSET '('
    789  1.1.1.1.2.2  skrll         AmlPackageLengthTerm
    790  1.1.1.1.2.2  skrll         ')'                         {$$ = TrCreateNode (PARSEOP_OFFSET,1,$3);}
    791  1.1.1.1.2.2  skrll     | PARSEOP_OFFSET '('
    792  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    793  1.1.1.1.2.2  skrll     ;
    794  1.1.1.1.2.2  skrll 
    795  1.1.1.1.2.2  skrll OpRegionTerm
    796  1.1.1.1.2.2  skrll     : PARSEOP_OPERATIONREGION '('   {$<n>$ = TrCreateLeafNode (PARSEOP_OPERATIONREGION);}
    797  1.1.1.1.2.2  skrll         NameString
    798  1.1.1.1.2.2  skrll         ',' OpRegionSpaceIdTerm
    799  1.1.1.1.2.2  skrll         TermArgItem
    800  1.1.1.1.2.2  skrll         TermArgItem
    801  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,4,
    802  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
    803  1.1.1.1.2.2  skrll                                         $6,$7,$8);}
    804  1.1.1.1.2.2  skrll     | PARSEOP_OPERATIONREGION '('
    805  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    806  1.1.1.1.2.2  skrll     ;
    807  1.1.1.1.2.2  skrll 
    808  1.1.1.1.2.2  skrll OpRegionSpaceIdTerm
    809  1.1.1.1.2.2  skrll     : RegionSpaceKeyword            {}
    810  1.1.1.1.2.2  skrll     | ByteConst                     {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);}
    811  1.1.1.1.2.2  skrll     ;
    812  1.1.1.1.2.2  skrll 
    813  1.1.1.1.2.2  skrll OrTerm
    814  1.1.1.1.2.2  skrll     : PARSEOP_OR '('                {$<n>$ = TrCreateLeafNode (PARSEOP_OR);}
    815  1.1.1.1.2.2  skrll         TermArg
    816  1.1.1.1.2.2  skrll         TermArgItem
    817  1.1.1.1.2.2  skrll         Target
    818  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    819  1.1.1.1.2.2  skrll     | PARSEOP_OR '('
    820  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    821  1.1.1.1.2.2  skrll     ;
    822  1.1.1.1.2.2  skrll 
    823  1.1.1.1.2.2  skrll PackageTerm
    824  1.1.1.1.2.2  skrll     : PARSEOP_PACKAGE               {$<n>$ = TrCreateLeafNode (PARSEOP_VAR_PACKAGE);}
    825  1.1.1.1.2.2  skrll         OptionalDataCount
    826  1.1.1.1.2.2  skrll         '{' PackageList '}'         {$$ = TrLinkChildren ($<n>2,2,$3,$5);}
    827  1.1.1.1.2.2  skrll 
    828  1.1.1.1.2.2  skrll PowerResTerm
    829  1.1.1.1.2.2  skrll     : PARSEOP_POWERRESOURCE '('     {$<n>$ = TrCreateLeafNode (PARSEOP_POWERRESOURCE);}
    830  1.1.1.1.2.2  skrll         NameString
    831  1.1.1.1.2.2  skrll         ',' ByteConstExpr
    832  1.1.1.1.2.2  skrll         ',' WordConstExpr
    833  1.1.1.1.2.2  skrll         ')' '{'
    834  1.1.1.1.2.2  skrll             TermList '}'            {$$ = TrLinkChildren ($<n>3,4,
    835  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
    836  1.1.1.1.2.2  skrll                                         $6,$8,$11);}
    837  1.1.1.1.2.2  skrll     | PARSEOP_POWERRESOURCE '('
    838  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    839  1.1.1.1.2.2  skrll     ;
    840  1.1.1.1.2.2  skrll 
    841  1.1.1.1.2.2  skrll PrintfTerm
    842  1.1.1.1.2.2  skrll     : PARSEOP_PRINTF '('            {$<n>$ = TrCreateLeafNode (PARSEOP_PRINTF);}
    843  1.1.1.1.2.2  skrll         StringData
    844  1.1.1.1.2.2  skrll         PrintfArgList
    845  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
    846  1.1.1.1.2.2  skrll     | PARSEOP_PRINTF '('
    847  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    848  1.1.1.1.2.2  skrll     ;
    849  1.1.1.1.2.2  skrll 
    850  1.1.1.1.2.2  skrll PrintfArgList
    851  1.1.1.1.2.2  skrll     :                               {$$ = NULL;}
    852  1.1.1.1.2.2  skrll     | TermArg                       {$$ = $1;}
    853  1.1.1.1.2.2  skrll     | PrintfArgList ','
    854  1.1.1.1.2.2  skrll        TermArg                      {$$ = TrLinkPeerNode ($1, $3);}
    855  1.1.1.1.2.2  skrll     ;
    856  1.1.1.1.2.2  skrll 
    857  1.1.1.1.2.2  skrll ProcessorTerm
    858  1.1.1.1.2.2  skrll     : PARSEOP_PROCESSOR '('         {$<n>$ = TrCreateLeafNode (PARSEOP_PROCESSOR);}
    859  1.1.1.1.2.2  skrll         NameString
    860  1.1.1.1.2.2  skrll         ',' ByteConstExpr
    861  1.1.1.1.2.2  skrll         OptionalDWordConstExpr
    862  1.1.1.1.2.2  skrll         OptionalByteConstExpr
    863  1.1.1.1.2.2  skrll         ')' '{'
    864  1.1.1.1.2.2  skrll             TermList '}'            {$$ = TrLinkChildren ($<n>3,5,
    865  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
    866  1.1.1.1.2.2  skrll                                         $6,$7,$8,$11);}
    867  1.1.1.1.2.2  skrll     | PARSEOP_PROCESSOR '('
    868  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    869  1.1.1.1.2.2  skrll     ;
    870  1.1.1.1.2.2  skrll 
    871  1.1.1.1.2.2  skrll RawDataBufferTerm
    872  1.1.1.1.2.2  skrll     : PARSEOP_DATABUFFER  '('       {$<n>$ = TrCreateLeafNode (PARSEOP_DATABUFFER);}
    873  1.1.1.1.2.2  skrll         OptionalWordConst
    874  1.1.1.1.2.2  skrll         ')' '{'
    875  1.1.1.1.2.2  skrll             ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
    876  1.1.1.1.2.2  skrll     | PARSEOP_DATABUFFER '('
    877  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    878  1.1.1.1.2.2  skrll     ;
    879  1.1.1.1.2.2  skrll 
    880  1.1.1.1.2.2  skrll /*
    881  1.1.1.1.2.2  skrll  * In RefOf, the node isn't really a target, but we can't keep track of it after
    882  1.1.1.1.2.2  skrll  * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.)
    883  1.1.1.1.2.2  skrll  */
    884  1.1.1.1.2.2  skrll RefOfTerm
    885  1.1.1.1.2.2  skrll     : PARSEOP_REFOF '('             {$<n>$ = TrCreateLeafNode (PARSEOP_REFOF);}
    886  1.1.1.1.2.2  skrll         SuperName
    887  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,
    888  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_TARGET));}
    889  1.1.1.1.2.2  skrll     | PARSEOP_REFOF '('
    890  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    891  1.1.1.1.2.2  skrll     ;
    892  1.1.1.1.2.2  skrll 
    893  1.1.1.1.2.2  skrll ReleaseTerm
    894  1.1.1.1.2.2  skrll     : PARSEOP_RELEASE '('           {$<n>$ = TrCreateLeafNode (PARSEOP_RELEASE);}
    895  1.1.1.1.2.2  skrll         SuperName
    896  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    897  1.1.1.1.2.2  skrll     | PARSEOP_RELEASE '('
    898  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    899  1.1.1.1.2.2  skrll     ;
    900  1.1.1.1.2.2  skrll 
    901  1.1.1.1.2.2  skrll ResetTerm
    902  1.1.1.1.2.2  skrll     : PARSEOP_RESET '('             {$<n>$ = TrCreateLeafNode (PARSEOP_RESET);}
    903  1.1.1.1.2.2  skrll         SuperName
    904  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    905  1.1.1.1.2.2  skrll     | PARSEOP_RESET '('
    906  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    907  1.1.1.1.2.2  skrll     ;
    908  1.1.1.1.2.2  skrll 
    909  1.1.1.1.2.2  skrll ReturnTerm
    910  1.1.1.1.2.2  skrll     : PARSEOP_RETURN '('            {$<n>$ = TrCreateLeafNode (PARSEOP_RETURN);}
    911  1.1.1.1.2.2  skrll         OptionalReturnArg
    912  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    913  1.1.1.1.2.2  skrll     | PARSEOP_RETURN                {$$ = TrLinkChildren (
    914  1.1.1.1.2.2  skrll                                         TrCreateLeafNode (PARSEOP_RETURN),1,
    915  1.1.1.1.2.2  skrll                                         TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO),
    916  1.1.1.1.2.2  skrll                                             NODE_IS_NULL_RETURN));}
    917  1.1.1.1.2.2  skrll     | PARSEOP_RETURN '('
    918  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    919  1.1.1.1.2.2  skrll     ;
    920  1.1.1.1.2.2  skrll 
    921  1.1.1.1.2.2  skrll ScopeTerm
    922  1.1.1.1.2.2  skrll     : PARSEOP_SCOPE '('             {$<n>$ = TrCreateLeafNode (PARSEOP_SCOPE);}
    923  1.1.1.1.2.2  skrll         NameString
    924  1.1.1.1.2.2  skrll         ')' '{'
    925  1.1.1.1.2.2  skrll             TermList '}'            {$$ = TrLinkChildren ($<n>3,2,
    926  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
    927  1.1.1.1.2.2  skrll     | PARSEOP_SCOPE '('
    928  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    929  1.1.1.1.2.2  skrll     ;
    930  1.1.1.1.2.2  skrll 
    931  1.1.1.1.2.2  skrll ShiftLeftTerm
    932  1.1.1.1.2.2  skrll     : PARSEOP_SHIFTLEFT '('         {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
    933  1.1.1.1.2.2  skrll         TermArg
    934  1.1.1.1.2.2  skrll         TermArgItem
    935  1.1.1.1.2.2  skrll         Target
    936  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    937  1.1.1.1.2.2  skrll     | PARSEOP_SHIFTLEFT '('
    938  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    939  1.1.1.1.2.2  skrll     ;
    940  1.1.1.1.2.2  skrll 
    941  1.1.1.1.2.2  skrll ShiftRightTerm
    942  1.1.1.1.2.2  skrll     : PARSEOP_SHIFTRIGHT '('        {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
    943  1.1.1.1.2.2  skrll         TermArg
    944  1.1.1.1.2.2  skrll         TermArgItem
    945  1.1.1.1.2.2  skrll         Target
    946  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    947  1.1.1.1.2.2  skrll     | PARSEOP_SHIFTRIGHT '('
    948  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    949  1.1.1.1.2.2  skrll     ;
    950  1.1.1.1.2.2  skrll 
    951  1.1.1.1.2.2  skrll SignalTerm
    952  1.1.1.1.2.2  skrll     : PARSEOP_SIGNAL '('            {$<n>$ = TrCreateLeafNode (PARSEOP_SIGNAL);}
    953  1.1.1.1.2.2  skrll         SuperName
    954  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    955  1.1.1.1.2.2  skrll     | PARSEOP_SIGNAL '('
    956  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    957  1.1.1.1.2.2  skrll     ;
    958  1.1.1.1.2.2  skrll 
    959  1.1.1.1.2.2  skrll SizeOfTerm
    960  1.1.1.1.2.2  skrll     : PARSEOP_SIZEOF '('            {$<n>$ = TrCreateLeafNode (PARSEOP_SIZEOF);}
    961  1.1.1.1.2.2  skrll         SuperName
    962  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    963  1.1.1.1.2.2  skrll     | PARSEOP_SIZEOF '('
    964  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    965  1.1.1.1.2.2  skrll     ;
    966  1.1.1.1.2.2  skrll 
    967  1.1.1.1.2.2  skrll SleepTerm
    968  1.1.1.1.2.2  skrll     : PARSEOP_SLEEP '('             {$<n>$ = TrCreateLeafNode (PARSEOP_SLEEP);}
    969  1.1.1.1.2.2  skrll         TermArg
    970  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    971  1.1.1.1.2.2  skrll     | PARSEOP_SLEEP '('
    972  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    973  1.1.1.1.2.2  skrll     ;
    974  1.1.1.1.2.2  skrll 
    975  1.1.1.1.2.2  skrll StallTerm
    976  1.1.1.1.2.2  skrll     : PARSEOP_STALL '('             {$<n>$ = TrCreateLeafNode (PARSEOP_STALL);}
    977  1.1.1.1.2.2  skrll         TermArg
    978  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
    979  1.1.1.1.2.2  skrll     | PARSEOP_STALL '('
    980  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    981  1.1.1.1.2.2  skrll     ;
    982  1.1.1.1.2.2  skrll 
    983  1.1.1.1.2.2  skrll StoreTerm
    984  1.1.1.1.2.2  skrll     : PARSEOP_STORE '('             {$<n>$ = TrCreateLeafNode (PARSEOP_STORE);}
    985  1.1.1.1.2.2  skrll         TermArg
    986  1.1.1.1.2.2  skrll         ',' SuperName
    987  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,
    988  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($6, NODE_IS_TARGET));}
    989  1.1.1.1.2.2  skrll     | PARSEOP_STORE '('
    990  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
    991  1.1.1.1.2.2  skrll     ;
    992  1.1.1.1.2.2  skrll 
    993  1.1.1.1.2.2  skrll SubtractTerm
    994  1.1.1.1.2.2  skrll     : PARSEOP_SUBTRACT '('          {$<n>$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
    995  1.1.1.1.2.2  skrll         TermArg
    996  1.1.1.1.2.2  skrll         TermArgItem
    997  1.1.1.1.2.2  skrll         Target
    998  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
    999  1.1.1.1.2.2  skrll     | PARSEOP_SUBTRACT '('
   1000  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1001  1.1.1.1.2.2  skrll     ;
   1002  1.1.1.1.2.2  skrll 
   1003  1.1.1.1.2.2  skrll SwitchTerm
   1004  1.1.1.1.2.2  skrll     : PARSEOP_SWITCH '('            {$<n>$ = TrCreateLeafNode (PARSEOP_SWITCH);}
   1005  1.1.1.1.2.2  skrll         TermArg
   1006  1.1.1.1.2.2  skrll         ')' '{'
   1007  1.1.1.1.2.2  skrll             CaseDefaultTermList '}'
   1008  1.1.1.1.2.2  skrll                                     {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
   1009  1.1.1.1.2.2  skrll     | PARSEOP_SWITCH '('
   1010  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1011  1.1.1.1.2.2  skrll     ;
   1012  1.1.1.1.2.2  skrll 
   1013  1.1.1.1.2.2  skrll ThermalZoneTerm
   1014  1.1.1.1.2.2  skrll     : PARSEOP_THERMALZONE '('       {$<n>$ = TrCreateLeafNode (PARSEOP_THERMALZONE);}
   1015  1.1.1.1.2.2  skrll         NameString
   1016  1.1.1.1.2.2  skrll         ')' '{'
   1017  1.1.1.1.2.2  skrll             TermList '}'            {$$ = TrLinkChildren ($<n>3,2,
   1018  1.1.1.1.2.2  skrll                                         TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
   1019  1.1.1.1.2.2  skrll     | PARSEOP_THERMALZONE '('
   1020  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1021  1.1.1.1.2.2  skrll     ;
   1022  1.1.1.1.2.2  skrll 
   1023  1.1.1.1.2.2  skrll TimerTerm
   1024  1.1.1.1.2.2  skrll     : PARSEOP_TIMER '('             {$<n>$ = TrCreateLeafNode (PARSEOP_TIMER);}
   1025  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,0);}
   1026  1.1.1.1.2.2  skrll     | PARSEOP_TIMER                 {$$ = TrLinkChildren (
   1027  1.1.1.1.2.2  skrll                                         TrCreateLeafNode (PARSEOP_TIMER),0);}
   1028  1.1.1.1.2.2  skrll     | PARSEOP_TIMER '('
   1029  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1030  1.1.1.1.2.2  skrll     ;
   1031  1.1.1.1.2.2  skrll 
   1032  1.1.1.1.2.2  skrll ToBCDTerm
   1033  1.1.1.1.2.2  skrll     : PARSEOP_TOBCD '('             {$<n>$ = TrCreateLeafNode (PARSEOP_TOBCD);}
   1034  1.1.1.1.2.2  skrll         TermArg
   1035  1.1.1.1.2.2  skrll         Target
   1036  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
   1037  1.1.1.1.2.2  skrll     | PARSEOP_TOBCD '('
   1038  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1039  1.1.1.1.2.2  skrll     ;
   1040  1.1.1.1.2.2  skrll 
   1041  1.1.1.1.2.2  skrll ToBufferTerm
   1042  1.1.1.1.2.2  skrll     : PARSEOP_TOBUFFER '('          {$<n>$ = TrCreateLeafNode (PARSEOP_TOBUFFER);}
   1043  1.1.1.1.2.2  skrll         TermArg
   1044  1.1.1.1.2.2  skrll         Target
   1045  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
   1046  1.1.1.1.2.2  skrll     | PARSEOP_TOBUFFER '('
   1047  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1048  1.1.1.1.2.2  skrll     ;
   1049  1.1.1.1.2.2  skrll 
   1050  1.1.1.1.2.2  skrll ToDecimalStringTerm
   1051  1.1.1.1.2.2  skrll     : PARSEOP_TODECIMALSTRING '('   {$<n>$ = TrCreateLeafNode (PARSEOP_TODECIMALSTRING);}
   1052  1.1.1.1.2.2  skrll         TermArg
   1053  1.1.1.1.2.2  skrll         Target
   1054  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
   1055  1.1.1.1.2.2  skrll     | PARSEOP_TODECIMALSTRING '('
   1056  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1057  1.1.1.1.2.2  skrll     ;
   1058  1.1.1.1.2.2  skrll 
   1059  1.1.1.1.2.2  skrll ToHexStringTerm
   1060  1.1.1.1.2.2  skrll     : PARSEOP_TOHEXSTRING '('       {$<n>$ = TrCreateLeafNode (PARSEOP_TOHEXSTRING);}
   1061  1.1.1.1.2.2  skrll         TermArg
   1062  1.1.1.1.2.2  skrll         Target
   1063  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
   1064  1.1.1.1.2.2  skrll     | PARSEOP_TOHEXSTRING '('
   1065  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1066  1.1.1.1.2.2  skrll     ;
   1067  1.1.1.1.2.2  skrll 
   1068  1.1.1.1.2.2  skrll ToIntegerTerm
   1069  1.1.1.1.2.2  skrll     : PARSEOP_TOINTEGER '('         {$<n>$ = TrCreateLeafNode (PARSEOP_TOINTEGER);}
   1070  1.1.1.1.2.2  skrll         TermArg
   1071  1.1.1.1.2.2  skrll         Target
   1072  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
   1073  1.1.1.1.2.2  skrll     | PARSEOP_TOINTEGER '('
   1074  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1075  1.1.1.1.2.2  skrll     ;
   1076  1.1.1.1.2.2  skrll 
   1077  1.1.1.1.2.2  skrll ToPLDTerm
   1078  1.1.1.1.2.2  skrll     : PARSEOP_TOPLD '('             {$<n>$ = TrCreateLeafNode (PARSEOP_TOPLD);}
   1079  1.1.1.1.2.2  skrll         PldKeywordList
   1080  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
   1081  1.1.1.1.2.2  skrll     | PARSEOP_TOPLD '('
   1082  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1083  1.1.1.1.2.2  skrll     ;
   1084  1.1.1.1.2.2  skrll 
   1085  1.1.1.1.2.2  skrll PldKeywordList
   1086  1.1.1.1.2.2  skrll     :                               {$$ = NULL;}
   1087  1.1.1.1.2.2  skrll     | PldKeyword
   1088  1.1.1.1.2.2  skrll         PARSEOP_EXP_EQUALS Integer  {$$ = TrLinkChildren ($1,1,$3);}
   1089  1.1.1.1.2.2  skrll     | PldKeyword
   1090  1.1.1.1.2.2  skrll         PARSEOP_EXP_EQUALS String   {$$ = TrLinkChildren ($1,1,$3);}
   1091  1.1.1.1.2.2  skrll     | PldKeywordList ','            /* Allows a trailing comma at list end */
   1092  1.1.1.1.2.2  skrll     | PldKeywordList ','
   1093  1.1.1.1.2.2  skrll         PldKeyword
   1094  1.1.1.1.2.2  skrll         PARSEOP_EXP_EQUALS Integer  {$$ = TrLinkPeerNode ($1,TrLinkChildren ($3,1,$5));}
   1095  1.1.1.1.2.2  skrll     | PldKeywordList ','
   1096  1.1.1.1.2.2  skrll         PldKeyword
   1097  1.1.1.1.2.2  skrll         PARSEOP_EXP_EQUALS String   {$$ = TrLinkPeerNode ($1,TrLinkChildren ($3,1,$5));}
   1098  1.1.1.1.2.2  skrll     ;
   1099  1.1.1.1.2.2  skrll 
   1100  1.1.1.1.2.2  skrll 
   1101  1.1.1.1.2.2  skrll ToStringTerm
   1102  1.1.1.1.2.2  skrll     : PARSEOP_TOSTRING '('          {$<n>$ = TrCreateLeafNode (PARSEOP_TOSTRING);}
   1103  1.1.1.1.2.2  skrll         TermArg
   1104  1.1.1.1.2.2  skrll         OptionalCount
   1105  1.1.1.1.2.2  skrll         Target
   1106  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
   1107  1.1.1.1.2.2  skrll     | PARSEOP_TOSTRING '('
   1108  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1109  1.1.1.1.2.2  skrll     ;
   1110  1.1.1.1.2.2  skrll 
   1111  1.1.1.1.2.2  skrll ToUUIDTerm
   1112  1.1.1.1.2.2  skrll     : PARSEOP_TOUUID '('
   1113  1.1.1.1.2.2  skrll         StringData ')'              {$$ = TrUpdateNode (PARSEOP_TOUUID, $3);}
   1114  1.1.1.1.2.2  skrll     | PARSEOP_TOUUID '('
   1115  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1116  1.1.1.1.2.2  skrll     ;
   1117  1.1.1.1.2.2  skrll 
   1118  1.1.1.1.2.2  skrll UnicodeTerm
   1119  1.1.1.1.2.2  skrll     : PARSEOP_UNICODE '('           {$<n>$ = TrCreateLeafNode (PARSEOP_UNICODE);}
   1120  1.1.1.1.2.2  skrll         StringData
   1121  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,0,$4);}
   1122  1.1.1.1.2.2  skrll     | PARSEOP_UNICODE '('
   1123  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1124  1.1.1.1.2.2  skrll     ;
   1125  1.1.1.1.2.2  skrll 
   1126  1.1.1.1.2.2  skrll UnloadTerm
   1127  1.1.1.1.2.2  skrll     : PARSEOP_UNLOAD '('            {$<n>$ = TrCreateLeafNode (PARSEOP_UNLOAD);}
   1128  1.1.1.1.2.2  skrll         SuperName
   1129  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
   1130  1.1.1.1.2.2  skrll     | PARSEOP_UNLOAD '('
   1131  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1132  1.1.1.1.2.2  skrll     ;
   1133  1.1.1.1.2.2  skrll 
   1134  1.1.1.1.2.2  skrll WaitTerm
   1135  1.1.1.1.2.2  skrll     : PARSEOP_WAIT '('              {$<n>$ = TrCreateLeafNode (PARSEOP_WAIT);}
   1136  1.1.1.1.2.2  skrll         SuperName
   1137  1.1.1.1.2.2  skrll         TermArgItem
   1138  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
   1139  1.1.1.1.2.2  skrll     | PARSEOP_WAIT '('
   1140  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1141  1.1.1.1.2.2  skrll     ;
   1142  1.1.1.1.2.2  skrll 
   1143  1.1.1.1.2.2  skrll XOrTerm
   1144  1.1.1.1.2.2  skrll     : PARSEOP_XOR '('               {$<n>$ = TrCreateLeafNode (PARSEOP_XOR);}
   1145  1.1.1.1.2.2  skrll         TermArg
   1146  1.1.1.1.2.2  skrll         TermArgItem
   1147  1.1.1.1.2.2  skrll         Target
   1148  1.1.1.1.2.2  skrll         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
   1149  1.1.1.1.2.2  skrll     | PARSEOP_XOR '('
   1150  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1151  1.1.1.1.2.2  skrll     ;
   1152  1.1.1.1.2.2  skrll 
   1153  1.1.1.1.2.2  skrll WhileTerm
   1154  1.1.1.1.2.2  skrll     : PARSEOP_WHILE '('             {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
   1155  1.1.1.1.2.2  skrll         TermArg
   1156  1.1.1.1.2.2  skrll         ')' '{' TermList '}'
   1157  1.1.1.1.2.2  skrll                                     {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
   1158  1.1.1.1.2.2  skrll     | PARSEOP_WHILE '('
   1159  1.1.1.1.2.2  skrll         error ')'                   {$$ = AslDoError(); yyclearin;}
   1160  1.1.1.1.2.2  skrll     ;
   1161