Home | History | Annotate | Line # | Download | only in compiler
aslresources.y revision 1.1.1.3
      1      1.1  christos NoEcho('
      2      1.1  christos /******************************************************************************
      3      1.1  christos  *
      4      1.1  christos  * Module Name: aslresources.y - Bison/Yacc production rules for resources
      5      1.1  christos  *
      6      1.1  christos  *****************************************************************************/
      7      1.1  christos 
      8      1.1  christos /*
      9      1.1  christos  * Copyright (C) 2000 - 2016, Intel Corp.
     10      1.1  christos  * All rights reserved.
     11      1.1  christos  *
     12      1.1  christos  * Redistribution and use in source and binary forms, with or without
     13      1.1  christos  * modification, are permitted provided that the following conditions
     14      1.1  christos  * are met:
     15      1.1  christos  * 1. Redistributions of source code must retain the above copyright
     16      1.1  christos  *    notice, this list of conditions, and the following disclaimer,
     17      1.1  christos  *    without modification.
     18      1.1  christos  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     19      1.1  christos  *    substantially similar to the "NO WARRANTY" disclaimer below
     20      1.1  christos  *    ("Disclaimer") and any redistribution must be conditioned upon
     21      1.1  christos  *    including a substantially similar Disclaimer requirement for further
     22      1.1  christos  *    binary redistribution.
     23      1.1  christos  * 3. Neither the names of the above-listed copyright holders nor the names
     24      1.1  christos  *    of any contributors may be used to endorse or promote products derived
     25      1.1  christos  *    from this software without specific prior written permission.
     26      1.1  christos  *
     27      1.1  christos  * Alternatively, this software may be distributed under the terms of the
     28      1.1  christos  * GNU General Public License ("GPL") version 2 as published by the Free
     29      1.1  christos  * Software Foundation.
     30      1.1  christos  *
     31      1.1  christos  * NO WARRANTY
     32      1.1  christos  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     33      1.1  christos  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     34      1.1  christos  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
     35      1.1  christos  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     36      1.1  christos  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     37      1.1  christos  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     38      1.1  christos  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     39      1.1  christos  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     40      1.1  christos  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     41      1.1  christos  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     42      1.1  christos  * POSSIBILITY OF SUCH DAMAGES.
     43      1.1  christos  */
     44      1.1  christos 
     45      1.1  christos ')
     46      1.1  christos 
     47      1.1  christos 
     48      1.1  christos /*******************************************************************************
     49      1.1  christos  *
     50      1.1  christos  * ASL Resource Template Terms
     51      1.1  christos  *
     52      1.1  christos  ******************************************************************************/
     53      1.1  christos 
     54      1.1  christos /*
     55      1.1  christos  * Note: Create two default nodes to allow conversion to a Buffer AML opcode
     56      1.1  christos  * Also, insert the EndTag at the end of the template.
     57      1.1  christos  */
     58      1.1  christos ResourceTemplateTerm
     59  1.1.1.3  christos     : PARSEOP_RESOURCETEMPLATE OptionalParentheses
     60      1.1  christos         '{'
     61      1.1  christos         ResourceMacroList '}'       {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4,
     62      1.1  christos                                           TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
     63      1.1  christos                                           TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
     64  1.1.1.3  christos                                           $4,
     65      1.1  christos                                           TrCreateLeafNode (PARSEOP_ENDTAG));}
     66      1.1  christos     ;
     67      1.1  christos 
     68  1.1.1.3  christos OptionalParentheses
     69  1.1.1.3  christos     :                               {$$ = NULL;}
     70  1.1.1.3  christos     | '(' ')'                       {$$ = NULL;}
     71  1.1.1.3  christos     ;
     72  1.1.1.3  christos 
     73      1.1  christos ResourceMacroList
     74      1.1  christos     :                               {$$ = NULL;}
     75      1.1  christos     | ResourceMacroList
     76      1.1  christos         ResourceMacroTerm           {$$ = TrLinkPeerNode ($1,$2);}
     77      1.1  christos     ;
     78      1.1  christos 
     79      1.1  christos ResourceMacroTerm
     80      1.1  christos     : DMATerm                       {}
     81      1.1  christos     | DWordIOTerm                   {}
     82      1.1  christos     | DWordMemoryTerm               {}
     83      1.1  christos     | DWordSpaceTerm                {}
     84      1.1  christos     | EndDependentFnTerm            {}
     85      1.1  christos     | ExtendedIOTerm                {}
     86      1.1  christos     | ExtendedMemoryTerm            {}
     87      1.1  christos     | ExtendedSpaceTerm             {}
     88      1.1  christos     | FixedDmaTerm                  {}
     89      1.1  christos     | FixedIOTerm                   {}
     90      1.1  christos     | GpioIntTerm                   {}
     91      1.1  christos     | GpioIoTerm                    {}
     92      1.1  christos     | I2cSerialBusTerm              {}
     93  1.1.1.2  christos     | I2cSerialBusTermV2            {}
     94      1.1  christos     | InterruptTerm                 {}
     95      1.1  christos     | IOTerm                        {}
     96      1.1  christos     | IRQNoFlagsTerm                {}
     97      1.1  christos     | IRQTerm                       {}
     98      1.1  christos     | Memory24Term                  {}
     99      1.1  christos     | Memory32FixedTerm             {}
    100      1.1  christos     | Memory32Term                  {}
    101      1.1  christos     | QWordIOTerm                   {}
    102      1.1  christos     | QWordMemoryTerm               {}
    103      1.1  christos     | QWordSpaceTerm                {}
    104      1.1  christos     | RegisterTerm                  {}
    105      1.1  christos     | SpiSerialBusTerm              {}
    106  1.1.1.2  christos     | SpiSerialBusTermV2            {}
    107      1.1  christos     | StartDependentFnNoPriTerm     {}
    108      1.1  christos     | StartDependentFnTerm          {}
    109      1.1  christos     | UartSerialBusTerm             {}
    110  1.1.1.2  christos     | UartSerialBusTermV2           {}
    111      1.1  christos     | VendorLongTerm                {}
    112      1.1  christos     | VendorShortTerm               {}
    113      1.1  christos     | WordBusNumberTerm             {}
    114      1.1  christos     | WordIOTerm                    {}
    115      1.1  christos     | WordSpaceTerm                 {}
    116      1.1  christos     ;
    117      1.1  christos 
    118      1.1  christos DMATerm
    119      1.1  christos     : PARSEOP_DMA '('               {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);}
    120      1.1  christos         DMATypeKeyword
    121      1.1  christos         OptionalBusMasterKeyword
    122      1.1  christos         ',' XferTypeKeyword
    123      1.1  christos         OptionalNameString_Last
    124      1.1  christos         ')' '{'
    125      1.1  christos             ByteList '}'            {$$ = TrLinkChildren ($<n>3,5,$4,$5,$7,$8,$11);}
    126      1.1  christos     | PARSEOP_DMA '('
    127      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    128      1.1  christos     ;
    129      1.1  christos 
    130      1.1  christos DWordIOTerm
    131      1.1  christos     : PARSEOP_DWORDIO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
    132      1.1  christos         OptionalResourceType_First
    133      1.1  christos         OptionalMinType
    134      1.1  christos         OptionalMaxType
    135      1.1  christos         OptionalDecodeType
    136      1.1  christos         OptionalRangeType
    137      1.1  christos         ',' DWordConstExpr
    138      1.1  christos         ',' DWordConstExpr
    139      1.1  christos         ',' DWordConstExpr
    140      1.1  christos         ',' DWordConstExpr
    141      1.1  christos         ',' DWordConstExpr
    142      1.1  christos         OptionalByteConstExpr
    143      1.1  christos         OptionalStringData
    144      1.1  christos         OptionalNameString
    145      1.1  christos         OptionalType
    146      1.1  christos         OptionalTranslationType_Last
    147  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,15,
    148  1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
    149      1.1  christos     | PARSEOP_DWORDIO '('
    150      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    151      1.1  christos     ;
    152      1.1  christos 
    153      1.1  christos DWordMemoryTerm
    154      1.1  christos     : PARSEOP_DWORDMEMORY '('       {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
    155      1.1  christos         OptionalResourceType_First
    156      1.1  christos         OptionalDecodeType
    157      1.1  christos         OptionalMinType
    158      1.1  christos         OptionalMaxType
    159      1.1  christos         OptionalMemType
    160      1.1  christos         ',' OptionalReadWriteKeyword
    161      1.1  christos         ',' DWordConstExpr
    162      1.1  christos         ',' DWordConstExpr
    163      1.1  christos         ',' DWordConstExpr
    164      1.1  christos         ',' DWordConstExpr
    165      1.1  christos         ',' DWordConstExpr
    166      1.1  christos         OptionalByteConstExpr
    167      1.1  christos         OptionalStringData
    168      1.1  christos         OptionalNameString
    169      1.1  christos         OptionalAddressRange
    170      1.1  christos         OptionalType_Last
    171  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,16,
    172  1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
    173      1.1  christos     | PARSEOP_DWORDMEMORY '('
    174      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    175      1.1  christos     ;
    176      1.1  christos 
    177      1.1  christos DWordSpaceTerm
    178      1.1  christos     : PARSEOP_DWORDSPACE '('        {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
    179      1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    180      1.1  christos         OptionalResourceType
    181      1.1  christos         OptionalDecodeType
    182      1.1  christos         OptionalMinType
    183      1.1  christos         OptionalMaxType
    184      1.1  christos         ',' ByteConstExpr
    185      1.1  christos         ',' DWordConstExpr
    186      1.1  christos         ',' DWordConstExpr
    187      1.1  christos         ',' DWordConstExpr
    188      1.1  christos         ',' DWordConstExpr
    189      1.1  christos         ',' DWordConstExpr
    190      1.1  christos         OptionalByteConstExpr
    191      1.1  christos         OptionalStringData
    192      1.1  christos         OptionalNameString_Last
    193  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,14,
    194  1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
    195      1.1  christos     | PARSEOP_DWORDSPACE '('
    196      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    197      1.1  christos     ;
    198      1.1  christos 
    199      1.1  christos EndDependentFnTerm
    200      1.1  christos     : PARSEOP_ENDDEPENDENTFN '('
    201      1.1  christos         ')'                         {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
    202      1.1  christos     | PARSEOP_ENDDEPENDENTFN '('
    203      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    204      1.1  christos     ;
    205      1.1  christos 
    206      1.1  christos ExtendedIOTerm
    207      1.1  christos     : PARSEOP_EXTENDEDIO '('        {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
    208      1.1  christos         OptionalResourceType_First
    209      1.1  christos         OptionalMinType
    210      1.1  christos         OptionalMaxType
    211      1.1  christos         OptionalDecodeType
    212      1.1  christos         OptionalRangeType
    213      1.1  christos         ',' QWordConstExpr
    214      1.1  christos         ',' QWordConstExpr
    215      1.1  christos         ',' QWordConstExpr
    216      1.1  christos         ',' QWordConstExpr
    217      1.1  christos         ',' QWordConstExpr
    218      1.1  christos         OptionalQWordConstExpr
    219      1.1  christos         OptionalNameString
    220      1.1  christos         OptionalType
    221      1.1  christos         OptionalTranslationType_Last
    222  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,14,
    223  1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
    224      1.1  christos     | PARSEOP_EXTENDEDIO '('
    225      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    226      1.1  christos     ;
    227      1.1  christos 
    228      1.1  christos ExtendedMemoryTerm
    229      1.1  christos     : PARSEOP_EXTENDEDMEMORY '('    {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
    230      1.1  christos         OptionalResourceType_First
    231      1.1  christos         OptionalDecodeType
    232      1.1  christos         OptionalMinType
    233      1.1  christos         OptionalMaxType
    234      1.1  christos         OptionalMemType
    235      1.1  christos         ',' OptionalReadWriteKeyword
    236      1.1  christos         ',' QWordConstExpr
    237      1.1  christos         ',' QWordConstExpr
    238      1.1  christos         ',' QWordConstExpr
    239      1.1  christos         ',' QWordConstExpr
    240      1.1  christos         ',' QWordConstExpr
    241      1.1  christos         OptionalQWordConstExpr
    242      1.1  christos         OptionalNameString
    243      1.1  christos         OptionalAddressRange
    244      1.1  christos         OptionalType_Last
    245  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,15,
    246  1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
    247      1.1  christos     | PARSEOP_EXTENDEDMEMORY '('
    248      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    249      1.1  christos     ;
    250      1.1  christos 
    251      1.1  christos ExtendedSpaceTerm
    252      1.1  christos     : PARSEOP_EXTENDEDSPACE '('     {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
    253      1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    254      1.1  christos         OptionalResourceType
    255      1.1  christos         OptionalDecodeType
    256      1.1  christos         OptionalMinType
    257      1.1  christos         OptionalMaxType
    258      1.1  christos         ',' ByteConstExpr
    259      1.1  christos         ',' QWordConstExpr
    260      1.1  christos         ',' QWordConstExpr
    261      1.1  christos         ',' QWordConstExpr
    262      1.1  christos         ',' QWordConstExpr
    263      1.1  christos         ',' QWordConstExpr
    264      1.1  christos         OptionalQWordConstExpr
    265      1.1  christos         OptionalNameString_Last
    266  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,13,
    267  1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
    268      1.1  christos     | PARSEOP_EXTENDEDSPACE '('
    269      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    270      1.1  christos     ;
    271      1.1  christos 
    272      1.1  christos FixedDmaTerm
    273      1.1  christos     : PARSEOP_FIXEDDMA '('          {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
    274      1.1  christos         WordConstExpr               /* 04: DMA RequestLines */
    275      1.1  christos         ',' WordConstExpr           /* 06: DMA Channels */
    276      1.1  christos         OptionalXferSize            /* 07: DMA TransferSize */
    277      1.1  christos         OptionalNameString          /* 08: DescriptorName */
    278      1.1  christos         ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$6,$7,$8);}
    279      1.1  christos     | PARSEOP_FIXEDDMA '('
    280      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    281      1.1  christos     ;
    282      1.1  christos 
    283      1.1  christos FixedIOTerm
    284      1.1  christos     : PARSEOP_FIXEDIO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
    285      1.1  christos         WordConstExpr
    286      1.1  christos         ',' ByteConstExpr
    287      1.1  christos         OptionalNameString_Last
    288      1.1  christos         ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
    289      1.1  christos     | PARSEOP_FIXEDIO '('
    290      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    291      1.1  christos     ;
    292      1.1  christos 
    293      1.1  christos GpioIntTerm
    294      1.1  christos     : PARSEOP_GPIO_INT '('          {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_INT);}
    295      1.1  christos         InterruptTypeKeyword        /* 04: InterruptType */
    296      1.1  christos         ',' InterruptLevel          /* 06: InterruptLevel */
    297      1.1  christos         OptionalShareType           /* 07: SharedType */
    298      1.1  christos         ',' PinConfigByte           /* 09: PinConfig */
    299      1.1  christos         OptionalWordConstExpr       /* 10: DebounceTimeout */
    300      1.1  christos         ',' StringData              /* 12: ResourceSource */
    301      1.1  christos         OptionalByteConstExpr       /* 13: ResourceSourceIndex */
    302      1.1  christos         OptionalResourceType        /* 14: ResourceType */
    303      1.1  christos         OptionalNameString          /* 15: DescriptorName */
    304      1.1  christos         OptionalBuffer_Last         /* 16: VendorData */
    305      1.1  christos         ')' '{'
    306  1.1.1.3  christos             DWordConstExpr '}'      {$$ = TrLinkChildren ($<n>3,11,
    307  1.1.1.3  christos                                         $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
    308      1.1  christos     | PARSEOP_GPIO_INT '('
    309      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    310      1.1  christos     ;
    311      1.1  christos 
    312      1.1  christos GpioIoTerm
    313      1.1  christos     : PARSEOP_GPIO_IO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
    314      1.1  christos         OptionalShareType_First     /* 04: SharedType */
    315      1.1  christos         ',' PinConfigByte           /* 06: PinConfig */
    316      1.1  christos         OptionalWordConstExpr       /* 07: DebounceTimeout */
    317      1.1  christos         OptionalWordConstExpr       /* 08: DriveStrength */
    318      1.1  christos         OptionalIoRestriction       /* 09: IoRestriction */
    319      1.1  christos         ',' StringData              /* 11: ResourceSource */
    320      1.1  christos         OptionalByteConstExpr       /* 12: ResourceSourceIndex */
    321      1.1  christos         OptionalResourceType        /* 13: ResourceType */
    322      1.1  christos         OptionalNameString          /* 14: DescriptorName */
    323      1.1  christos         OptionalBuffer_Last         /* 15: VendorData */
    324      1.1  christos         ')' '{'
    325  1.1.1.3  christos             DWordList '}'           {$$ = TrLinkChildren ($<n>3,11,
    326  1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
    327      1.1  christos     | PARSEOP_GPIO_IO '('
    328      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    329      1.1  christos     ;
    330      1.1  christos 
    331      1.1  christos I2cSerialBusTerm
    332      1.1  christos     : PARSEOP_I2C_SERIALBUS '('     {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
    333      1.1  christos         WordConstExpr               /* 04: SlaveAddress */
    334      1.1  christos         OptionalSlaveMode           /* 05: SlaveMode */
    335      1.1  christos         ',' DWordConstExpr          /* 07: ConnectionSpeed */
    336      1.1  christos         OptionalAddressingMode      /* 08: AddressingMode */
    337      1.1  christos         ',' StringData              /* 10: ResourceSource */
    338      1.1  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    339      1.1  christos         OptionalResourceType        /* 12: ResourceType */
    340      1.1  christos         OptionalNameString          /* 13: DescriptorName */
    341      1.1  christos         OptionalBuffer_Last         /* 14: VendorData */
    342  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,10,
    343  1.1.1.3  christos                                         $4,$5,$7,$8,$10,$11,$12,$13,
    344  1.1.1.2  christos                                         TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$14);}
    345      1.1  christos     | PARSEOP_I2C_SERIALBUS '('
    346      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    347      1.1  christos     ;
    348      1.1  christos 
    349  1.1.1.2  christos I2cSerialBusTermV2
    350  1.1.1.2  christos     : PARSEOP_I2C_SERIALBUS_V2 '('  {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);}
    351  1.1.1.2  christos         WordConstExpr               /* 04: SlaveAddress */
    352  1.1.1.2  christos         OptionalSlaveMode           /* 05: SlaveMode */
    353  1.1.1.2  christos         ',' DWordConstExpr          /* 07: ConnectionSpeed */
    354  1.1.1.2  christos         OptionalAddressingMode      /* 08: AddressingMode */
    355  1.1.1.2  christos         ',' StringData              /* 10: ResourceSource */
    356  1.1.1.2  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    357  1.1.1.2  christos         OptionalResourceType        /* 12: ResourceType */
    358  1.1.1.2  christos         OptionalNameString          /* 13: DescriptorName */
    359  1.1.1.2  christos         OptionalShareType           /* 14: Share */
    360  1.1.1.2  christos         OptionalBuffer_Last         /* 15: VendorData */
    361  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,10,
    362  1.1.1.3  christos                                         $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
    363  1.1.1.2  christos     | PARSEOP_I2C_SERIALBUS_V2 '('
    364  1.1.1.2  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    365  1.1.1.2  christos     ;
    366  1.1.1.2  christos 
    367      1.1  christos InterruptTerm
    368      1.1  christos     : PARSEOP_INTERRUPT '('         {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
    369      1.1  christos         OptionalResourceType_First
    370      1.1  christos         ',' InterruptTypeKeyword
    371      1.1  christos         ',' InterruptLevel
    372      1.1  christos         OptionalShareType
    373      1.1  christos         OptionalByteConstExpr
    374      1.1  christos         OptionalStringData
    375      1.1  christos         OptionalNameString_Last
    376      1.1  christos         ')' '{'
    377  1.1.1.3  christos             DWordList '}'           {$$ = TrLinkChildren ($<n>3,8,
    378  1.1.1.3  christos                                         $4,$6,$8,$9,$10,$11,$12,$15);}
    379      1.1  christos     | PARSEOP_INTERRUPT '('
    380      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    381      1.1  christos     ;
    382      1.1  christos 
    383      1.1  christos IOTerm
    384      1.1  christos     : PARSEOP_IO '('                {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
    385      1.1  christos         IODecodeKeyword
    386      1.1  christos         ',' WordConstExpr
    387      1.1  christos         ',' WordConstExpr
    388      1.1  christos         ',' ByteConstExpr
    389      1.1  christos         ',' ByteConstExpr
    390      1.1  christos         OptionalNameString_Last
    391      1.1  christos         ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
    392      1.1  christos     | PARSEOP_IO '('
    393      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    394      1.1  christos     ;
    395      1.1  christos 
    396      1.1  christos IRQNoFlagsTerm
    397      1.1  christos     : PARSEOP_IRQNOFLAGS '('        {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
    398      1.1  christos         OptionalNameString_First
    399      1.1  christos         ')' '{'
    400      1.1  christos             ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
    401      1.1  christos     | PARSEOP_IRQNOFLAGS '('
    402      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    403      1.1  christos     ;
    404      1.1  christos 
    405      1.1  christos IRQTerm
    406      1.1  christos     : PARSEOP_IRQ '('               {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);}
    407      1.1  christos         InterruptTypeKeyword
    408      1.1  christos         ',' InterruptLevel
    409      1.1  christos         OptionalShareType
    410      1.1  christos         OptionalNameString_Last
    411      1.1  christos         ')' '{'
    412      1.1  christos             ByteList '}'            {$$ = TrLinkChildren ($<n>3,5,$4,$6,$7,$8,$11);}
    413      1.1  christos     | PARSEOP_IRQ '('
    414      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    415      1.1  christos     ;
    416      1.1  christos 
    417      1.1  christos Memory24Term
    418      1.1  christos     : PARSEOP_MEMORY24 '('          {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
    419      1.1  christos         OptionalReadWriteKeyword
    420      1.1  christos         ',' WordConstExpr
    421      1.1  christos         ',' WordConstExpr
    422      1.1  christos         ',' WordConstExpr
    423      1.1  christos         ',' WordConstExpr
    424      1.1  christos         OptionalNameString_Last
    425      1.1  christos         ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
    426      1.1  christos     | PARSEOP_MEMORY24 '('
    427      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    428      1.1  christos     ;
    429      1.1  christos 
    430      1.1  christos Memory32FixedTerm
    431      1.1  christos     : PARSEOP_MEMORY32FIXED '('     {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
    432      1.1  christos         OptionalReadWriteKeyword
    433      1.1  christos         ',' DWordConstExpr
    434      1.1  christos         ',' DWordConstExpr
    435      1.1  christos         OptionalNameString_Last
    436      1.1  christos         ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$6,$8,$9);}
    437      1.1  christos     | PARSEOP_MEMORY32FIXED '('
    438      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    439      1.1  christos     ;
    440      1.1  christos 
    441      1.1  christos Memory32Term
    442      1.1  christos     : PARSEOP_MEMORY32 '('          {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
    443      1.1  christos         OptionalReadWriteKeyword
    444      1.1  christos         ',' DWordConstExpr
    445      1.1  christos         ',' DWordConstExpr
    446      1.1  christos         ',' DWordConstExpr
    447      1.1  christos         ',' DWordConstExpr
    448      1.1  christos         OptionalNameString_Last
    449      1.1  christos         ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
    450      1.1  christos     | PARSEOP_MEMORY32 '('
    451      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    452      1.1  christos     ;
    453      1.1  christos 
    454      1.1  christos QWordIOTerm
    455      1.1  christos     : PARSEOP_QWORDIO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
    456      1.1  christos         OptionalResourceType_First
    457      1.1  christos         OptionalMinType
    458      1.1  christos         OptionalMaxType
    459      1.1  christos         OptionalDecodeType
    460      1.1  christos         OptionalRangeType
    461      1.1  christos         ',' QWordConstExpr
    462      1.1  christos         ',' QWordConstExpr
    463      1.1  christos         ',' QWordConstExpr
    464      1.1  christos         ',' QWordConstExpr
    465      1.1  christos         ',' QWordConstExpr
    466      1.1  christos         OptionalByteConstExpr
    467      1.1  christos         OptionalStringData
    468      1.1  christos         OptionalNameString
    469      1.1  christos         OptionalType
    470      1.1  christos         OptionalTranslationType_Last
    471  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,15,
    472  1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
    473      1.1  christos     | PARSEOP_QWORDIO '('
    474      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    475      1.1  christos     ;
    476      1.1  christos 
    477      1.1  christos QWordMemoryTerm
    478      1.1  christos     : PARSEOP_QWORDMEMORY '('       {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
    479      1.1  christos         OptionalResourceType_First
    480      1.1  christos         OptionalDecodeType
    481      1.1  christos         OptionalMinType
    482      1.1  christos         OptionalMaxType
    483      1.1  christos         OptionalMemType
    484      1.1  christos         ',' OptionalReadWriteKeyword
    485      1.1  christos         ',' QWordConstExpr
    486      1.1  christos         ',' QWordConstExpr
    487      1.1  christos         ',' QWordConstExpr
    488      1.1  christos         ',' QWordConstExpr
    489      1.1  christos         ',' QWordConstExpr
    490      1.1  christos         OptionalByteConstExpr
    491      1.1  christos         OptionalStringData
    492      1.1  christos         OptionalNameString
    493      1.1  christos         OptionalAddressRange
    494      1.1  christos         OptionalType_Last
    495  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,16,
    496  1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
    497      1.1  christos     | PARSEOP_QWORDMEMORY '('
    498      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    499      1.1  christos     ;
    500      1.1  christos 
    501      1.1  christos QWordSpaceTerm
    502      1.1  christos     : PARSEOP_QWORDSPACE '('        {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
    503      1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    504      1.1  christos         OptionalResourceType
    505      1.1  christos         OptionalDecodeType
    506      1.1  christos         OptionalMinType
    507      1.1  christos         OptionalMaxType
    508      1.1  christos         ',' ByteConstExpr
    509      1.1  christos         ',' QWordConstExpr
    510      1.1  christos         ',' QWordConstExpr
    511      1.1  christos         ',' QWordConstExpr
    512      1.1  christos         ',' QWordConstExpr
    513      1.1  christos         ',' QWordConstExpr
    514      1.1  christos         OptionalByteConstExpr
    515      1.1  christos         OptionalStringData
    516      1.1  christos         OptionalNameString_Last
    517  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,14,
    518  1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
    519      1.1  christos     | PARSEOP_QWORDSPACE '('
    520      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    521      1.1  christos     ;
    522      1.1  christos 
    523      1.1  christos RegisterTerm
    524      1.1  christos     : PARSEOP_REGISTER '('          {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
    525      1.1  christos         AddressSpaceKeyword
    526      1.1  christos         ',' ByteConstExpr
    527      1.1  christos         ',' ByteConstExpr
    528      1.1  christos         ',' QWordConstExpr
    529      1.1  christos         OptionalAccessSize
    530      1.1  christos         OptionalNameString_Last
    531      1.1  christos         ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
    532      1.1  christos     | PARSEOP_REGISTER '('
    533      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    534      1.1  christos     ;
    535      1.1  christos 
    536      1.1  christos SpiSerialBusTerm
    537      1.1  christos     : PARSEOP_SPI_SERIALBUS '('     {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS);}
    538      1.1  christos         WordConstExpr               /* 04: DeviceSelection */
    539      1.1  christos         OptionalDevicePolarity      /* 05: DevicePolarity */
    540      1.1  christos         OptionalWireMode            /* 06: WireMode */
    541      1.1  christos         ',' ByteConstExpr           /* 08: DataBitLength */
    542      1.1  christos         OptionalSlaveMode           /* 09: SlaveMode */
    543      1.1  christos         ',' DWordConstExpr          /* 11: ConnectionSpeed */
    544      1.1  christos         ',' ClockPolarityKeyword    /* 13: ClockPolarity */
    545      1.1  christos         ',' ClockPhaseKeyword       /* 15: ClockPhase */
    546      1.1  christos         ',' StringData              /* 17: ResourceSource */
    547      1.1  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    548      1.1  christos         OptionalResourceType        /* 19: ResourceType */
    549      1.1  christos         OptionalNameString          /* 20: DescriptorName */
    550      1.1  christos         OptionalBuffer_Last         /* 21: VendorData */
    551  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,14,
    552  1.1.1.3  christos                                         $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
    553  1.1.1.2  christos                                         TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
    554      1.1  christos     | PARSEOP_SPI_SERIALBUS '('
    555      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    556      1.1  christos     ;
    557      1.1  christos 
    558  1.1.1.2  christos SpiSerialBusTermV2
    559  1.1.1.2  christos     : PARSEOP_SPI_SERIALBUS_V2 '('  {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);}
    560  1.1.1.2  christos         WordConstExpr               /* 04: DeviceSelection */
    561  1.1.1.2  christos         OptionalDevicePolarity      /* 05: DevicePolarity */
    562  1.1.1.2  christos         OptionalWireMode            /* 06: WireMode */
    563  1.1.1.2  christos         ',' ByteConstExpr           /* 08: DataBitLength */
    564  1.1.1.2  christos         OptionalSlaveMode           /* 09: SlaveMode */
    565  1.1.1.2  christos         ',' DWordConstExpr          /* 11: ConnectionSpeed */
    566  1.1.1.2  christos         ',' ClockPolarityKeyword    /* 13: ClockPolarity */
    567  1.1.1.2  christos         ',' ClockPhaseKeyword       /* 15: ClockPhase */
    568  1.1.1.2  christos         ',' StringData              /* 17: ResourceSource */
    569  1.1.1.2  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    570  1.1.1.2  christos         OptionalResourceType        /* 19: ResourceType */
    571  1.1.1.2  christos         OptionalNameString          /* 20: DescriptorName */
    572  1.1.1.2  christos         OptionalShareType           /* 21: Share */
    573  1.1.1.2  christos         OptionalBuffer_Last         /* 22: VendorData */
    574  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,14,
    575  1.1.1.3  christos                                         $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
    576  1.1.1.2  christos     | PARSEOP_SPI_SERIALBUS_V2 '('
    577  1.1.1.2  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    578  1.1.1.2  christos     ;
    579  1.1.1.2  christos 
    580      1.1  christos StartDependentFnNoPriTerm
    581      1.1  christos     : PARSEOP_STARTDEPENDENTFN_NOPRI '('    {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
    582      1.1  christos         ')' '{'
    583      1.1  christos         ResourceMacroList '}'       {$$ = TrLinkChildren ($<n>3,1,$6);}
    584      1.1  christos     | PARSEOP_STARTDEPENDENTFN_NOPRI '('
    585      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    586      1.1  christos     ;
    587      1.1  christos 
    588      1.1  christos StartDependentFnTerm
    589      1.1  christos     : PARSEOP_STARTDEPENDENTFN '('  {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
    590      1.1  christos         ByteConstExpr
    591      1.1  christos         ',' ByteConstExpr
    592      1.1  christos         ')' '{'
    593      1.1  christos         ResourceMacroList '}'       {$$ = TrLinkChildren ($<n>3,3,$4,$6,$9);}
    594      1.1  christos     | PARSEOP_STARTDEPENDENTFN '('
    595      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    596      1.1  christos     ;
    597      1.1  christos 
    598      1.1  christos UartSerialBusTerm
    599      1.1  christos     : PARSEOP_UART_SERIALBUS '('    {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS);}
    600      1.1  christos         DWordConstExpr              /* 04: ConnectionSpeed */
    601      1.1  christos         OptionalBitsPerByte         /* 05: BitsPerByte */
    602      1.1  christos         OptionalStopBits            /* 06: StopBits */
    603      1.1  christos         ',' ByteConstExpr           /* 08: LinesInUse */
    604      1.1  christos         OptionalEndian              /* 09: Endianess */
    605      1.1  christos         OptionalParityType          /* 10: Parity */
    606      1.1  christos         OptionalFlowControl         /* 11: FlowControl */
    607      1.1  christos         ',' WordConstExpr           /* 13: Rx BufferSize */
    608      1.1  christos         ',' WordConstExpr           /* 15: Tx BufferSize */
    609      1.1  christos         ',' StringData              /* 17: ResourceSource */
    610      1.1  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    611      1.1  christos         OptionalResourceType        /* 19: ResourceType */
    612      1.1  christos         OptionalNameString          /* 20: DescriptorName */
    613      1.1  christos         OptionalBuffer_Last         /* 21: VendorData */
    614  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,15,
    615  1.1.1.3  christos                                         $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
    616  1.1.1.2  christos                                         TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
    617      1.1  christos     | PARSEOP_UART_SERIALBUS '('
    618      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    619      1.1  christos     ;
    620      1.1  christos 
    621  1.1.1.2  christos UartSerialBusTermV2
    622  1.1.1.2  christos     : PARSEOP_UART_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);}
    623  1.1.1.2  christos         DWordConstExpr              /* 04: ConnectionSpeed */
    624  1.1.1.2  christos         OptionalBitsPerByte         /* 05: BitsPerByte */
    625  1.1.1.2  christos         OptionalStopBits            /* 06: StopBits */
    626  1.1.1.2  christos         ',' ByteConstExpr           /* 08: LinesInUse */
    627  1.1.1.2  christos         OptionalEndian              /* 09: Endianess */
    628  1.1.1.2  christos         OptionalParityType          /* 10: Parity */
    629  1.1.1.2  christos         OptionalFlowControl         /* 11: FlowControl */
    630  1.1.1.2  christos         ',' WordConstExpr           /* 13: Rx BufferSize */
    631  1.1.1.2  christos         ',' WordConstExpr           /* 15: Tx BufferSize */
    632  1.1.1.2  christos         ',' StringData              /* 17: ResourceSource */
    633  1.1.1.2  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    634  1.1.1.2  christos         OptionalResourceType        /* 19: ResourceType */
    635  1.1.1.2  christos         OptionalNameString          /* 20: DescriptorName */
    636  1.1.1.2  christos         OptionalShareType           /* 21: Share */
    637  1.1.1.2  christos         OptionalBuffer_Last         /* 22: VendorData */
    638  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,15,
    639  1.1.1.3  christos                                         $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
    640  1.1.1.2  christos     | PARSEOP_UART_SERIALBUS_V2 '('
    641  1.1.1.2  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    642  1.1.1.2  christos     ;
    643  1.1.1.2  christos 
    644      1.1  christos VendorLongTerm
    645      1.1  christos     : PARSEOP_VENDORLONG '('        {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
    646      1.1  christos         OptionalNameString_First
    647      1.1  christos         ')' '{'
    648      1.1  christos             ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
    649      1.1  christos     | PARSEOP_VENDORLONG '('
    650      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    651      1.1  christos     ;
    652      1.1  christos 
    653      1.1  christos VendorShortTerm
    654      1.1  christos     : PARSEOP_VENDORSHORT '('       {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
    655      1.1  christos         OptionalNameString_First
    656      1.1  christos         ')' '{'
    657      1.1  christos             ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
    658      1.1  christos     | PARSEOP_VENDORSHORT '('
    659      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    660      1.1  christos     ;
    661      1.1  christos 
    662      1.1  christos WordBusNumberTerm
    663      1.1  christos     : PARSEOP_WORDBUSNUMBER '('     {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
    664      1.1  christos         OptionalResourceType_First
    665      1.1  christos         OptionalMinType
    666      1.1  christos         OptionalMaxType
    667      1.1  christos         OptionalDecodeType
    668      1.1  christos         ',' WordConstExpr
    669      1.1  christos         ',' WordConstExpr
    670      1.1  christos         ',' WordConstExpr
    671      1.1  christos         ',' WordConstExpr
    672      1.1  christos         ',' WordConstExpr
    673      1.1  christos         OptionalByteConstExpr
    674      1.1  christos         OptionalStringData
    675      1.1  christos         OptionalNameString_Last
    676  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,12,
    677  1.1.1.3  christos                                         $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
    678      1.1  christos     | PARSEOP_WORDBUSNUMBER '('
    679      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    680      1.1  christos     ;
    681      1.1  christos 
    682      1.1  christos WordIOTerm
    683      1.1  christos     : PARSEOP_WORDIO '('            {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
    684      1.1  christos         OptionalResourceType_First
    685      1.1  christos         OptionalMinType
    686      1.1  christos         OptionalMaxType
    687      1.1  christos         OptionalDecodeType
    688      1.1  christos         OptionalRangeType
    689      1.1  christos         ',' WordConstExpr
    690      1.1  christos         ',' WordConstExpr
    691      1.1  christos         ',' WordConstExpr
    692      1.1  christos         ',' WordConstExpr
    693      1.1  christos         ',' WordConstExpr
    694      1.1  christos         OptionalByteConstExpr
    695      1.1  christos         OptionalStringData
    696      1.1  christos         OptionalNameString
    697      1.1  christos         OptionalType
    698      1.1  christos         OptionalTranslationType_Last
    699  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,15,
    700  1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
    701      1.1  christos     | PARSEOP_WORDIO '('
    702      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    703      1.1  christos     ;
    704      1.1  christos 
    705      1.1  christos WordSpaceTerm
    706      1.1  christos     : PARSEOP_WORDSPACE '('         {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
    707      1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    708      1.1  christos         OptionalResourceType
    709      1.1  christos         OptionalDecodeType
    710      1.1  christos         OptionalMinType
    711      1.1  christos         OptionalMaxType
    712      1.1  christos         ',' ByteConstExpr
    713      1.1  christos         ',' WordConstExpr
    714      1.1  christos         ',' WordConstExpr
    715      1.1  christos         ',' WordConstExpr
    716      1.1  christos         ',' WordConstExpr
    717      1.1  christos         ',' WordConstExpr
    718      1.1  christos         OptionalByteConstExpr
    719      1.1  christos         OptionalStringData
    720      1.1  christos         OptionalNameString_Last
    721  1.1.1.3  christos         ')'                         {$$ = TrLinkChildren ($<n>3,14,
    722  1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
    723      1.1  christos     | PARSEOP_WORDSPACE '('
    724      1.1  christos         error ')'                   {$$ = AslDoError(); yyclearin;}
    725      1.1  christos     ;
    726