Home | History | Annotate | Line # | Download | only in compiler
aslprimaries.y revision 1.1.1.8.4.2
      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.8.4.2   thorpej  * Copyright (C) 2000 - 2021, 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.1.8.4.2   thorpej  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 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.1.6  christos         OptionalAccessTypeKeyword
    131      1.1.1.6  christos         OptionalLockRuleKeyword
    132      1.1.1.6  christos         OptionalUpdateRuleKeyword
    133      1.1.1.2  christos         PARSEOP_CLOSE_PAREN '{'
    134      1.1.1.4  christos             FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,7,
    135      1.1.1.6  christos                                         $4,$5,$6,$7,$8,$9,$12);}
    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.8.4.1   thorpej         StringLiteral
    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.1.6  christos         OptionalAccessTypeKeyword
    475      1.1.1.6  christos         OptionalLockRuleKeyword
    476      1.1.1.6  christos         OptionalUpdateRuleKeyword
    477      1.1.1.2  christos         PARSEOP_CLOSE_PAREN '{'
    478      1.1.1.6  christos             FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
    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.1.8.4.1   thorpej         StringLiteral
    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.8  christos                                         TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
    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.1.6  christos         OptionalAccessTypeKeyword
    607      1.1.1.6  christos         OptionalLockRuleKeyword
    608      1.1.1.6  christos         OptionalUpdateRuleKeyword
    609      1.1.1.2  christos         PARSEOP_CLOSE_PAREN '{'
    610      1.1.1.6  christos             FieldUnitList '}'       {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$11);}
    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.1.6  christos         OptionalSyncLevel
    842      1.1.1.4  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,2,
    843      1.1.1.6  christos                                         TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5);}
    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.1.8.4.1   thorpej         StringLiteral
    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.8.4.1   thorpej         StringLiteral
   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.1.8.4.1   thorpej         StringLiteral
   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