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