Home | History | Annotate | Line # | Download | only in compiler
aslresources.y revision 1.1.1.13
      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.1.5  christos  *                             - Keep this file synched with the
      6   1.1.1.5  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.12  christos  * Copyright (C) 2000 - 2023, 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.10  christos  * 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 Resource Template Terms
     53       1.1  christos  *
     54       1.1  christos  ******************************************************************************/
     55       1.1  christos 
     56       1.1  christos /*
     57       1.1  christos  * Note: Create two default nodes to allow conversion to a Buffer AML opcode
     58       1.1  christos  * Also, insert the EndTag at the end of the template.
     59       1.1  christos  */
     60       1.1  christos ResourceTemplateTerm
     61   1.1.1.5  christos     : PARSEOP_RESOURCETEMPLATE      {COMMENT_CAPTURE_OFF;}
     62   1.1.1.4  christos         OptionalParentheses
     63       1.1  christos         '{'
     64   1.1.1.6  christos         ResourceMacroList '}'       {$$ = TrCreateOp (PARSEOP_RESOURCETEMPLATE,4,
     65   1.1.1.6  christos                                           TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
     66   1.1.1.6  christos                                           TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
     67   1.1.1.5  christos                                           $5,
     68   1.1.1.6  christos                                           TrCreateLeafOp (PARSEOP_ENDTAG));
     69   1.1.1.5  christos                                      COMMENT_CAPTURE_ON;}
     70       1.1  christos     ;
     71       1.1  christos 
     72   1.1.1.3  christos OptionalParentheses
     73   1.1.1.3  christos     :                               {$$ = NULL;}
     74   1.1.1.4  christos     | PARSEOP_OPEN_PAREN
     75   1.1.1.4  christos         PARSEOP_CLOSE_PAREN         {$$ = NULL;}
     76   1.1.1.3  christos     ;
     77   1.1.1.3  christos 
     78       1.1  christos ResourceMacroList
     79       1.1  christos     :                               {$$ = NULL;}
     80       1.1  christos     | ResourceMacroList
     81   1.1.1.6  christos         ResourceMacroTerm           {$$ = TrLinkPeerOp ($1,$2);}
     82       1.1  christos     ;
     83       1.1  christos 
     84       1.1  christos ResourceMacroTerm
     85  1.1.1.10  christos     : Csi2SerialBusTerm             {}
     86  1.1.1.10  christos     | DMATerm                       {}
     87       1.1  christos     | DWordIOTerm                   {}
     88       1.1  christos     | DWordMemoryTerm               {}
     89  1.1.1.13  christos     | DWordPccTerm                  {}
     90       1.1  christos     | DWordSpaceTerm                {}
     91       1.1  christos     | EndDependentFnTerm            {}
     92       1.1  christos     | ExtendedIOTerm                {}
     93       1.1  christos     | ExtendedMemoryTerm            {}
     94       1.1  christos     | ExtendedSpaceTerm             {}
     95       1.1  christos     | FixedDmaTerm                  {}
     96       1.1  christos     | FixedIOTerm                   {}
     97       1.1  christos     | GpioIntTerm                   {}
     98       1.1  christos     | GpioIoTerm                    {}
     99       1.1  christos     | I2cSerialBusTerm              {}
    100   1.1.1.2  christos     | I2cSerialBusTermV2            {}
    101       1.1  christos     | InterruptTerm                 {}
    102       1.1  christos     | IOTerm                        {}
    103       1.1  christos     | IRQNoFlagsTerm                {}
    104       1.1  christos     | IRQTerm                       {}
    105       1.1  christos     | Memory24Term                  {}
    106       1.1  christos     | Memory32FixedTerm             {}
    107       1.1  christos     | Memory32Term                  {}
    108   1.1.1.6  christos     | PinConfigTerm                 {}
    109   1.1.1.6  christos     | PinFunctionTerm               {}
    110  1.1.1.12  christos     | ClockInputTerm                {}
    111   1.1.1.6  christos     | PinGroupTerm                  {}
    112   1.1.1.6  christos     | PinGroupConfigTerm            {}
    113   1.1.1.6  christos     | PinGroupFunctionTerm          {}
    114       1.1  christos     | QWordIOTerm                   {}
    115       1.1  christos     | QWordMemoryTerm               {}
    116  1.1.1.13  christos     | QWordPccTerm                  {}
    117       1.1  christos     | QWordSpaceTerm                {}
    118       1.1  christos     | RegisterTerm                  {}
    119       1.1  christos     | SpiSerialBusTerm              {}
    120   1.1.1.2  christos     | SpiSerialBusTermV2            {}
    121       1.1  christos     | StartDependentFnNoPriTerm     {}
    122       1.1  christos     | StartDependentFnTerm          {}
    123       1.1  christos     | UartSerialBusTerm             {}
    124   1.1.1.2  christos     | UartSerialBusTermV2           {}
    125       1.1  christos     | VendorLongTerm                {}
    126       1.1  christos     | VendorShortTerm               {}
    127       1.1  christos     | WordBusNumberTerm             {}
    128       1.1  christos     | WordIOTerm                    {}
    129  1.1.1.13  christos     | WordPccTerm                   {}
    130       1.1  christos     | WordSpaceTerm                 {}
    131       1.1  christos     ;
    132       1.1  christos 
    133  1.1.1.10  christos Csi2SerialBusTerm
    134  1.1.1.10  christos     : PARSEOP_CSI2_SERIALBUS
    135  1.1.1.10  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CSI2_SERIALBUS);}
    136  1.1.1.10  christos         OptionalSlaveMode_First     {UtCheckIntegerRange ($4, 0x00, 0x01);} /* 04: SlaveMode */
    137  1.1.1.10  christos         ',' ByteConstExpr           {UtCheckIntegerRange ($7, 0x00, 0x03);} /* 07: PhyType */
    138  1.1.1.10  christos         OptionalByteConstExpr       {UtCheckIntegerRange ($9, 0x00, 0xFC);} /* 09: LocalPortInstance */
    139  1.1.1.10  christos         ',' StringData              /* 12: ResourceSource */
    140  1.1.1.10  christos         ',' ByteConstExpr           /* 14: ResourceSourceIndex */
    141  1.1.1.10  christos         OptionalResourceType        /* 15; ResourceType (ResourceUsage) */
    142  1.1.1.10  christos         OptionalNameString          /* 16: DescriptorName */
    143  1.1.1.10  christos         OptionalBuffer_Last         /* 17: VendorData */
    144  1.1.1.10  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,8,
    145  1.1.1.10  christos                                         $4,$7,$9,$12,$14,$15,$16,$17);}
    146  1.1.1.10  christos     | PARSEOP_CSI2_SERIALBUS
    147  1.1.1.10  christos         PARSEOP_OPEN_PAREN
    148  1.1.1.10  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    149  1.1.1.10  christos 
    150       1.1  christos DMATerm
    151   1.1.1.4  christos     : PARSEOP_DMA
    152   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DMA);}
    153       1.1  christos         DMATypeKeyword
    154       1.1  christos         OptionalBusMasterKeyword
    155       1.1  christos         ',' XferTypeKeyword
    156       1.1  christos         OptionalNameString_Last
    157   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    158   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$7,$8,$11);}
    159   1.1.1.4  christos     | PARSEOP_DMA
    160   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    161   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    162       1.1  christos     ;
    163       1.1  christos 
    164       1.1  christos DWordIOTerm
    165   1.1.1.4  christos     : PARSEOP_DWORDIO
    166   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDIO);}
    167       1.1  christos         OptionalResourceType_First
    168       1.1  christos         OptionalMinType
    169       1.1  christos         OptionalMaxType
    170       1.1  christos         OptionalDecodeType
    171       1.1  christos         OptionalRangeType
    172       1.1  christos         ',' DWordConstExpr
    173       1.1  christos         ',' DWordConstExpr
    174       1.1  christos         ',' DWordConstExpr
    175       1.1  christos         ',' DWordConstExpr
    176       1.1  christos         ',' DWordConstExpr
    177       1.1  christos         OptionalByteConstExpr
    178       1.1  christos         OptionalStringData
    179       1.1  christos         OptionalNameString
    180       1.1  christos         OptionalType
    181       1.1  christos         OptionalTranslationType_Last
    182   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    183   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
    184   1.1.1.4  christos     | PARSEOP_DWORDIO
    185   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    186   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    187       1.1  christos     ;
    188       1.1  christos 
    189       1.1  christos DWordMemoryTerm
    190   1.1.1.4  christos     : PARSEOP_DWORDMEMORY
    191   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDMEMORY);}
    192       1.1  christos         OptionalResourceType_First
    193       1.1  christos         OptionalDecodeType
    194       1.1  christos         OptionalMinType
    195       1.1  christos         OptionalMaxType
    196       1.1  christos         OptionalMemType
    197       1.1  christos         ',' OptionalReadWriteKeyword
    198       1.1  christos         ',' DWordConstExpr
    199       1.1  christos         ',' DWordConstExpr
    200       1.1  christos         ',' DWordConstExpr
    201       1.1  christos         ',' DWordConstExpr
    202       1.1  christos         ',' DWordConstExpr
    203       1.1  christos         OptionalByteConstExpr
    204       1.1  christos         OptionalStringData
    205       1.1  christos         OptionalNameString
    206       1.1  christos         OptionalAddressRange
    207       1.1  christos         OptionalType_Last
    208   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,16,
    209   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
    210   1.1.1.4  christos     | PARSEOP_DWORDMEMORY
    211   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    212   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    213       1.1  christos     ;
    214       1.1  christos 
    215  1.1.1.13  christos DWordPccTerm
    216  1.1.1.13  christos     : PARSEOP_DWORDPCC
    217  1.1.1.13  christos         PARSEOP_OPEN_PAREN           {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDPCC);}
    218  1.1.1.13  christos         ByteConstExpr
    219  1.1.1.13  christos         OptionalByteConstExpr
    220  1.1.1.13  christos         OptionalStringData
    221  1.1.1.13  christos         OptionalNameString_Last
    222  1.1.1.13  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,4,
    223  1.1.1.13  christos                                                         $4,$5,$6,$7);}
    224  1.1.1.13  christos     | PARSEOP_DWORDPCC
    225  1.1.1.13  christos         PARSEOP_OPEN_PAREN
    226  1.1.1.13  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    227  1.1.1.13  christos     ;
    228  1.1.1.13  christos 
    229       1.1  christos DWordSpaceTerm
    230   1.1.1.4  christos     : PARSEOP_DWORDSPACE
    231   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDSPACE);}
    232       1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    233       1.1  christos         OptionalResourceType
    234       1.1  christos         OptionalDecodeType
    235       1.1  christos         OptionalMinType
    236       1.1  christos         OptionalMaxType
    237       1.1  christos         ',' ByteConstExpr
    238       1.1  christos         ',' DWordConstExpr
    239       1.1  christos         ',' DWordConstExpr
    240       1.1  christos         ',' DWordConstExpr
    241       1.1  christos         ',' DWordConstExpr
    242       1.1  christos         ',' DWordConstExpr
    243       1.1  christos         OptionalByteConstExpr
    244       1.1  christos         OptionalStringData
    245       1.1  christos         OptionalNameString_Last
    246   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    247   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
    248   1.1.1.4  christos     | PARSEOP_DWORDSPACE
    249   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    250   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    251       1.1  christos     ;
    252       1.1  christos 
    253       1.1  christos EndDependentFnTerm
    254   1.1.1.4  christos     : PARSEOP_ENDDEPENDENTFN
    255   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    256   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrCreateLeafOp (PARSEOP_ENDDEPENDENTFN);}
    257   1.1.1.4  christos     | PARSEOP_ENDDEPENDENTFN
    258   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    259   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    260       1.1  christos     ;
    261       1.1  christos 
    262       1.1  christos ExtendedIOTerm
    263   1.1.1.4  christos     : PARSEOP_EXTENDEDIO
    264   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDIO);}
    265       1.1  christos         OptionalResourceType_First
    266       1.1  christos         OptionalMinType
    267       1.1  christos         OptionalMaxType
    268       1.1  christos         OptionalDecodeType
    269       1.1  christos         OptionalRangeType
    270       1.1  christos         ',' QWordConstExpr
    271       1.1  christos         ',' QWordConstExpr
    272       1.1  christos         ',' QWordConstExpr
    273       1.1  christos         ',' QWordConstExpr
    274       1.1  christos         ',' QWordConstExpr
    275       1.1  christos         OptionalQWordConstExpr
    276       1.1  christos         OptionalNameString
    277       1.1  christos         OptionalType
    278       1.1  christos         OptionalTranslationType_Last
    279   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    280   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
    281   1.1.1.4  christos     | PARSEOP_EXTENDEDIO
    282   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    283   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    284       1.1  christos     ;
    285       1.1  christos 
    286       1.1  christos ExtendedMemoryTerm
    287   1.1.1.4  christos     : PARSEOP_EXTENDEDMEMORY
    288   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDMEMORY);}
    289       1.1  christos         OptionalResourceType_First
    290       1.1  christos         OptionalDecodeType
    291       1.1  christos         OptionalMinType
    292       1.1  christos         OptionalMaxType
    293       1.1  christos         OptionalMemType
    294       1.1  christos         ',' OptionalReadWriteKeyword
    295       1.1  christos         ',' QWordConstExpr
    296       1.1  christos         ',' QWordConstExpr
    297       1.1  christos         ',' QWordConstExpr
    298       1.1  christos         ',' QWordConstExpr
    299       1.1  christos         ',' QWordConstExpr
    300       1.1  christos         OptionalQWordConstExpr
    301       1.1  christos         OptionalNameString
    302       1.1  christos         OptionalAddressRange
    303       1.1  christos         OptionalType_Last
    304   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    305   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
    306   1.1.1.4  christos     | PARSEOP_EXTENDEDMEMORY
    307   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    308   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    309       1.1  christos     ;
    310       1.1  christos 
    311       1.1  christos ExtendedSpaceTerm
    312   1.1.1.6  christos     : PARSEOP_EXTENDEDSPACE PARSEOP_OPEN_PAREN     {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDSPACE);}
    313       1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    314       1.1  christos         OptionalResourceType
    315       1.1  christos         OptionalDecodeType
    316       1.1  christos         OptionalMinType
    317       1.1  christos         OptionalMaxType
    318       1.1  christos         ',' ByteConstExpr
    319       1.1  christos         ',' QWordConstExpr
    320       1.1  christos         ',' QWordConstExpr
    321       1.1  christos         ',' QWordConstExpr
    322       1.1  christos         ',' QWordConstExpr
    323       1.1  christos         ',' QWordConstExpr
    324       1.1  christos         OptionalQWordConstExpr
    325       1.1  christos         OptionalNameString_Last
    326   1.1.1.6  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,13,
    327   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
    328   1.1.1.4  christos     | PARSEOP_EXTENDEDSPACE
    329   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    330   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    331       1.1  christos     ;
    332       1.1  christos 
    333       1.1  christos FixedDmaTerm
    334   1.1.1.4  christos     : PARSEOP_FIXEDDMA
    335   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDDMA);}
    336       1.1  christos         WordConstExpr               /* 04: DMA RequestLines */
    337       1.1  christos         ',' WordConstExpr           /* 06: DMA Channels */
    338       1.1  christos         OptionalXferSize            /* 07: DMA TransferSize */
    339       1.1  christos         OptionalNameString          /* 08: DescriptorName */
    340   1.1.1.6  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$7,$8);}
    341   1.1.1.4  christos     | PARSEOP_FIXEDDMA
    342   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    343   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    344       1.1  christos     ;
    345       1.1  christos 
    346       1.1  christos FixedIOTerm
    347   1.1.1.4  christos     : PARSEOP_FIXEDIO
    348   1.1.1.6  christos         PARSEOP_OPEN_PAREN           {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDIO);}
    349       1.1  christos         WordConstExpr
    350       1.1  christos         ',' ByteConstExpr
    351       1.1  christos         OptionalNameString_Last
    352   1.1.1.6  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
    353   1.1.1.4  christos     | PARSEOP_FIXEDIO
    354   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    355   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    356       1.1  christos     ;
    357       1.1  christos 
    358       1.1  christos GpioIntTerm
    359   1.1.1.4  christos     : PARSEOP_GPIO_INT
    360   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_INT);}
    361       1.1  christos         InterruptTypeKeyword        /* 04: InterruptType */
    362       1.1  christos         ',' InterruptLevel          /* 06: InterruptLevel */
    363       1.1  christos         OptionalShareType           /* 07: SharedType */
    364       1.1  christos         ',' PinConfigByte           /* 09: PinConfig */
    365       1.1  christos         OptionalWordConstExpr       /* 10: DebounceTimeout */
    366       1.1  christos         ',' StringData              /* 12: ResourceSource */
    367       1.1  christos         OptionalByteConstExpr       /* 13: ResourceSourceIndex */
    368       1.1  christos         OptionalResourceType        /* 14: ResourceType */
    369       1.1  christos         OptionalNameString          /* 15: DescriptorName */
    370       1.1  christos         OptionalBuffer_Last         /* 16: VendorData */
    371   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    372   1.1.1.6  christos             DWordConstExpr '}'      {$$ = TrLinkOpChildren ($<n>3,11,
    373   1.1.1.3  christos                                         $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
    374   1.1.1.4  christos     | PARSEOP_GPIO_INT
    375   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    376   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    377       1.1  christos     ;
    378       1.1  christos 
    379       1.1  christos GpioIoTerm
    380   1.1.1.4  christos     : PARSEOP_GPIO_IO
    381   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_IO);}
    382       1.1  christos         OptionalShareType_First     /* 04: SharedType */
    383       1.1  christos         ',' PinConfigByte           /* 06: PinConfig */
    384       1.1  christos         OptionalWordConstExpr       /* 07: DebounceTimeout */
    385       1.1  christos         OptionalWordConstExpr       /* 08: DriveStrength */
    386       1.1  christos         OptionalIoRestriction       /* 09: IoRestriction */
    387       1.1  christos         ',' StringData              /* 11: ResourceSource */
    388       1.1  christos         OptionalByteConstExpr       /* 12: ResourceSourceIndex */
    389       1.1  christos         OptionalResourceType        /* 13: ResourceType */
    390       1.1  christos         OptionalNameString          /* 14: DescriptorName */
    391       1.1  christos         OptionalBuffer_Last         /* 15: VendorData */
    392   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    393   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,11,
    394   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
    395   1.1.1.4  christos     | PARSEOP_GPIO_IO
    396   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    397   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    398       1.1  christos     ;
    399       1.1  christos 
    400       1.1  christos I2cSerialBusTerm
    401   1.1.1.4  christos     : PARSEOP_I2C_SERIALBUS
    402   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS);}
    403       1.1  christos         WordConstExpr               /* 04: SlaveAddress */
    404       1.1  christos         OptionalSlaveMode           /* 05: SlaveMode */
    405       1.1  christos         ',' DWordConstExpr          /* 07: ConnectionSpeed */
    406       1.1  christos         OptionalAddressingMode      /* 08: AddressingMode */
    407       1.1  christos         ',' StringData              /* 10: ResourceSource */
    408       1.1  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    409       1.1  christos         OptionalResourceType        /* 12: ResourceType */
    410       1.1  christos         OptionalNameString          /* 13: DescriptorName */
    411       1.1  christos         OptionalBuffer_Last         /* 14: VendorData */
    412   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,10,
    413   1.1.1.3  christos                                         $4,$5,$7,$8,$10,$11,$12,$13,
    414   1.1.1.6  christos                                         TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$14);}
    415   1.1.1.4  christos     | PARSEOP_I2C_SERIALBUS
    416   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    417   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    418       1.1  christos     ;
    419       1.1  christos 
    420   1.1.1.2  christos I2cSerialBusTermV2
    421   1.1.1.4  christos     : PARSEOP_I2C_SERIALBUS_V2
    422   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS_V2);}
    423   1.1.1.2  christos         WordConstExpr               /* 04: SlaveAddress */
    424   1.1.1.2  christos         OptionalSlaveMode           /* 05: SlaveMode */
    425   1.1.1.2  christos         ',' DWordConstExpr          /* 07: ConnectionSpeed */
    426   1.1.1.2  christos         OptionalAddressingMode      /* 08: AddressingMode */
    427   1.1.1.2  christos         ',' StringData              /* 10: ResourceSource */
    428   1.1.1.2  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    429   1.1.1.2  christos         OptionalResourceType        /* 12: ResourceType */
    430   1.1.1.2  christos         OptionalNameString          /* 13: DescriptorName */
    431   1.1.1.2  christos         OptionalShareType           /* 14: Share */
    432   1.1.1.2  christos         OptionalBuffer_Last         /* 15: VendorData */
    433   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,10,
    434   1.1.1.3  christos                                         $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
    435   1.1.1.4  christos     | PARSEOP_I2C_SERIALBUS_V2
    436   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    437   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    438   1.1.1.2  christos     ;
    439   1.1.1.2  christos 
    440       1.1  christos InterruptTerm
    441   1.1.1.4  christos     : PARSEOP_INTERRUPT
    442   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_INTERRUPT);}
    443       1.1  christos         OptionalResourceType_First
    444       1.1  christos         ',' InterruptTypeKeyword
    445       1.1  christos         ',' InterruptLevel
    446       1.1  christos         OptionalShareType
    447       1.1  christos         OptionalByteConstExpr
    448       1.1  christos         OptionalStringData
    449       1.1  christos         OptionalNameString_Last
    450   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    451   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,8,
    452   1.1.1.3  christos                                         $4,$6,$8,$9,$10,$11,$12,$15);}
    453   1.1.1.4  christos     | PARSEOP_INTERRUPT
    454   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    455   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    456       1.1  christos     ;
    457       1.1  christos 
    458       1.1  christos IOTerm
    459   1.1.1.4  christos     : PARSEOP_IO
    460   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IO);}
    461       1.1  christos         IODecodeKeyword
    462       1.1  christos         ',' WordConstExpr
    463       1.1  christos         ',' WordConstExpr
    464       1.1  christos         ',' ByteConstExpr
    465       1.1  christos         ',' ByteConstExpr
    466       1.1  christos         OptionalNameString_Last
    467   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
    468   1.1.1.4  christos     | PARSEOP_IO
    469   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    470   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    471       1.1  christos     ;
    472       1.1  christos 
    473       1.1  christos IRQNoFlagsTerm
    474   1.1.1.4  christos     : PARSEOP_IRQNOFLAGS
    475   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IRQNOFLAGS);}
    476       1.1  christos         OptionalNameString_First
    477   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    478   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
    479   1.1.1.4  christos     | PARSEOP_IRQNOFLAGS
    480   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    481   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    482       1.1  christos     ;
    483       1.1  christos 
    484       1.1  christos IRQTerm
    485   1.1.1.4  christos     : PARSEOP_IRQ
    486   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IRQ);}
    487       1.1  christos         InterruptTypeKeyword
    488       1.1  christos         ',' InterruptLevel
    489       1.1  christos         OptionalShareType
    490       1.1  christos         OptionalNameString_Last
    491   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    492   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,5,$4,$6,$7,$8,$11);}
    493   1.1.1.4  christos     | PARSEOP_IRQ
    494   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    495   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    496       1.1  christos     ;
    497       1.1  christos 
    498       1.1  christos Memory24Term
    499   1.1.1.4  christos     : PARSEOP_MEMORY24
    500   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY24);}
    501       1.1  christos         OptionalReadWriteKeyword
    502       1.1  christos         ',' WordConstExpr
    503       1.1  christos         ',' WordConstExpr
    504       1.1  christos         ',' WordConstExpr
    505       1.1  christos         ',' WordConstExpr
    506       1.1  christos         OptionalNameString_Last
    507   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
    508   1.1.1.4  christos     | PARSEOP_MEMORY24
    509   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    510   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    511       1.1  christos     ;
    512       1.1  christos 
    513       1.1  christos Memory32FixedTerm
    514   1.1.1.4  christos     : PARSEOP_MEMORY32FIXED
    515   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32FIXED);}
    516       1.1  christos         OptionalReadWriteKeyword
    517       1.1  christos         ',' DWordConstExpr
    518       1.1  christos         ',' DWordConstExpr
    519       1.1  christos         OptionalNameString_Last
    520   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$8,$9);}
    521   1.1.1.4  christos     | PARSEOP_MEMORY32FIXED
    522   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    523   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    524       1.1  christos     ;
    525       1.1  christos 
    526       1.1  christos Memory32Term
    527   1.1.1.4  christos     : PARSEOP_MEMORY32
    528   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32);}
    529       1.1  christos         OptionalReadWriteKeyword
    530       1.1  christos         ',' DWordConstExpr
    531       1.1  christos         ',' DWordConstExpr
    532       1.1  christos         ',' DWordConstExpr
    533       1.1  christos         ',' DWordConstExpr
    534       1.1  christos         OptionalNameString_Last
    535   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
    536   1.1.1.4  christos     | PARSEOP_MEMORY32
    537   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    538   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    539       1.1  christos     ;
    540       1.1  christos 
    541   1.1.1.6  christos PinConfigTerm
    542   1.1.1.6  christos     : PARSEOP_PINCONFIG
    543   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINCONFIG);}
    544   1.1.1.6  christos         OptionalShareType_First     /* 04: SharedType */
    545   1.1.1.6  christos         ',' ByteConstExpr           /* 06: PinConfigType */
    546   1.1.1.6  christos         ',' DWordConstExpr          /* 08: PinConfigValue */
    547   1.1.1.6  christos         ',' StringData              /* 10: ResourceSource */
    548   1.1.1.6  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    549   1.1.1.6  christos         OptionalResourceType        /* 12: ResourceType */
    550   1.1.1.6  christos         OptionalNameString          /* 13: DescriptorName */
    551   1.1.1.6  christos         OptionalBuffer_Last         /* 14: VendorData */
    552   1.1.1.6  christos         PARSEOP_CLOSE_PAREN '{'
    553   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,9,
    554   1.1.1.6  christos                                         $4,$6,$8,$10,$11,$12,$13,$14,$17);}
    555   1.1.1.6  christos     | PARSEOP_PINCONFIG
    556   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    557   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    558   1.1.1.6  christos     ;
    559   1.1.1.6  christos 
    560   1.1.1.6  christos PinFunctionTerm
    561   1.1.1.6  christos     : PARSEOP_PINFUNCTION
    562   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINFUNCTION);}
    563   1.1.1.6  christos         OptionalShareType_First     /* 04: SharedType */
    564   1.1.1.6  christos         ',' PinConfigByte           /* 06: PinConfig */
    565   1.1.1.6  christos         ',' WordConstExpr           /* 08: FunctionNumber */
    566   1.1.1.6  christos         ',' StringData              /* 10: ResourceSource */
    567   1.1.1.6  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    568   1.1.1.6  christos         OptionalResourceType        /* 12: ResourceType */
    569   1.1.1.6  christos         OptionalNameString          /* 13: DescriptorName */
    570   1.1.1.6  christos         OptionalBuffer_Last         /* 14: VendorData */
    571   1.1.1.6  christos         PARSEOP_CLOSE_PAREN '{'
    572   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,9,
    573   1.1.1.6  christos                                         $4,$6,$8,$10,$11,$12,$13,$14,$17);}
    574   1.1.1.6  christos     | PARSEOP_PINFUNCTION
    575   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    576   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    577   1.1.1.6  christos     ;
    578   1.1.1.6  christos 
    579  1.1.1.12  christos ClockInputTerm
    580  1.1.1.12  christos     : PARSEOP_CLOCKINPUT
    581  1.1.1.12  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CLOCKINPUT);}
    582  1.1.1.12  christos         DWordConstExpr              /* 04: FrequencyNumerator */
    583  1.1.1.12  christos         ',' WordConstExpr           /* 06: FrequencyDivisor */
    584  1.1.1.12  christos         ',' ClockScaleKeyword       /* 08: Scale */
    585  1.1.1.12  christos         ',' ClockModeKeyword        /* 10: Mode*/
    586  1.1.1.12  christos         OptionalStringData          /* 11: ResourceSource */
    587  1.1.1.12  christos         OptionalByteConstExpr       /* 12: ResourceSourceIndex */
    588  1.1.1.12  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
    589  1.1.1.12  christos     | PARSEOP_CLOCKINPUT
    590  1.1.1.12  christos         PARSEOP_OPEN_PAREN
    591  1.1.1.12  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    592  1.1.1.12  christos     ;
    593  1.1.1.12  christos 
    594   1.1.1.6  christos PinGroupTerm
    595   1.1.1.6  christos     : PARSEOP_PINGROUP
    596   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);}
    597   1.1.1.6  christos         StringData                  /* 04: ResourceLabel */
    598   1.1.1.6  christos         OptionalProducerResourceType /* 05: ResourceType */
    599   1.1.1.6  christos         OptionalNameString          /* 06: DescriptorName */
    600   1.1.1.6  christos         OptionalBuffer_Last         /* 07: VendorData */
    601   1.1.1.6  christos         PARSEOP_CLOSE_PAREN '{'
    602   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
    603   1.1.1.6  christos     | PARSEOP_PINGROUP
    604   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    605   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    606   1.1.1.6  christos     ;
    607   1.1.1.6  christos 
    608   1.1.1.6  christos PinGroupConfigTerm
    609   1.1.1.6  christos     : PARSEOP_PINGROUPCONFIG
    610   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPCONFIG);}
    611   1.1.1.6  christos         OptionalShareType_First     /* 04: SharedType */
    612   1.1.1.6  christos         ',' ByteConstExpr           /* 06: PinConfigType */
    613   1.1.1.6  christos         ',' DWordConstExpr          /* 08: PinConfigValue */
    614   1.1.1.6  christos         ',' StringData              /* 10: ResourceSource */
    615   1.1.1.6  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    616   1.1.1.6  christos         ',' StringData              /* 13: ResourceSourceLabel */
    617   1.1.1.6  christos         OptionalResourceType        /* 14: ResourceType */
    618   1.1.1.6  christos         OptionalNameString          /* 15: DescriptorName */
    619   1.1.1.6  christos         OptionalBuffer_Last         /* 16: VendorData */
    620   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,9,
    621   1.1.1.6  christos                                         $4,$6,$8,$10,$11,$13,$14,$15,$16);}
    622   1.1.1.6  christos     | PARSEOP_PINGROUPCONFIG
    623   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    624   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    625   1.1.1.6  christos     ;
    626   1.1.1.6  christos 
    627   1.1.1.6  christos PinGroupFunctionTerm
    628   1.1.1.6  christos     : PARSEOP_PINGROUPFUNCTION
    629   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPFUNCTION);}
    630   1.1.1.6  christos         OptionalShareType_First     /* 04: SharedType */
    631   1.1.1.6  christos         ',' WordConstExpr           /* 06: FunctionNumber */
    632   1.1.1.6  christos         ',' StringData              /* 08: ResourceSource */
    633   1.1.1.6  christos         OptionalByteConstExpr       /* 09: ResourceSourceIndex */
    634   1.1.1.6  christos         ',' StringData              /* 11: ResourceSourceLabel */
    635   1.1.1.6  christos         OptionalResourceType        /* 12: ResourceType */
    636   1.1.1.6  christos         OptionalNameString          /* 13: DescriptorName */
    637   1.1.1.6  christos         OptionalBuffer_Last         /* 14: VendorData */
    638   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,8,
    639   1.1.1.6  christos                                         $4,$6,$8,$9,$11,$12,$13,$14);}
    640   1.1.1.6  christos     | PARSEOP_PINGROUPFUNCTION
    641   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    642   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    643   1.1.1.6  christos     ;
    644   1.1.1.6  christos 
    645       1.1  christos QWordIOTerm
    646   1.1.1.4  christos     : PARSEOP_QWORDIO
    647   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDIO);}
    648       1.1  christos         OptionalResourceType_First
    649       1.1  christos         OptionalMinType
    650       1.1  christos         OptionalMaxType
    651       1.1  christos         OptionalDecodeType
    652       1.1  christos         OptionalRangeType
    653       1.1  christos         ',' QWordConstExpr
    654       1.1  christos         ',' QWordConstExpr
    655       1.1  christos         ',' QWordConstExpr
    656       1.1  christos         ',' QWordConstExpr
    657       1.1  christos         ',' QWordConstExpr
    658       1.1  christos         OptionalByteConstExpr
    659       1.1  christos         OptionalStringData
    660       1.1  christos         OptionalNameString
    661       1.1  christos         OptionalType
    662       1.1  christos         OptionalTranslationType_Last
    663   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    664   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
    665   1.1.1.4  christos     | PARSEOP_QWORDIO
    666   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    667   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    668       1.1  christos     ;
    669       1.1  christos 
    670       1.1  christos QWordMemoryTerm
    671   1.1.1.4  christos     : PARSEOP_QWORDMEMORY
    672   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDMEMORY);}
    673       1.1  christos         OptionalResourceType_First
    674       1.1  christos         OptionalDecodeType
    675       1.1  christos         OptionalMinType
    676       1.1  christos         OptionalMaxType
    677       1.1  christos         OptionalMemType
    678       1.1  christos         ',' OptionalReadWriteKeyword
    679       1.1  christos         ',' QWordConstExpr
    680       1.1  christos         ',' QWordConstExpr
    681       1.1  christos         ',' QWordConstExpr
    682       1.1  christos         ',' QWordConstExpr
    683       1.1  christos         ',' QWordConstExpr
    684       1.1  christos         OptionalByteConstExpr
    685       1.1  christos         OptionalStringData
    686       1.1  christos         OptionalNameString
    687       1.1  christos         OptionalAddressRange
    688       1.1  christos         OptionalType_Last
    689   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,16,
    690   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
    691   1.1.1.4  christos     | PARSEOP_QWORDMEMORY
    692   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    693   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    694       1.1  christos     ;
    695       1.1  christos 
    696  1.1.1.13  christos QWordPccTerm
    697  1.1.1.13  christos     : PARSEOP_QWORDPCC
    698  1.1.1.13  christos         PARSEOP_OPEN_PAREN           {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDPCC);}
    699  1.1.1.13  christos         ByteConstExpr
    700  1.1.1.13  christos         OptionalByteConstExpr
    701  1.1.1.13  christos         OptionalStringData
    702  1.1.1.13  christos         OptionalNameString_Last
    703  1.1.1.13  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,4,
    704  1.1.1.13  christos                                                         $4,$5,$6,$7);}
    705  1.1.1.13  christos     | PARSEOP_QWORDPCC
    706  1.1.1.13  christos         PARSEOP_OPEN_PAREN
    707  1.1.1.13  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    708  1.1.1.13  christos     ;
    709  1.1.1.13  christos 
    710       1.1  christos QWordSpaceTerm
    711   1.1.1.4  christos     : PARSEOP_QWORDSPACE
    712   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDSPACE);}
    713       1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    714       1.1  christos         OptionalResourceType
    715       1.1  christos         OptionalDecodeType
    716       1.1  christos         OptionalMinType
    717       1.1  christos         OptionalMaxType
    718       1.1  christos         ',' ByteConstExpr
    719       1.1  christos         ',' QWordConstExpr
    720       1.1  christos         ',' QWordConstExpr
    721       1.1  christos         ',' QWordConstExpr
    722       1.1  christos         ',' QWordConstExpr
    723       1.1  christos         ',' QWordConstExpr
    724       1.1  christos         OptionalByteConstExpr
    725       1.1  christos         OptionalStringData
    726       1.1  christos         OptionalNameString_Last
    727   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    728   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
    729   1.1.1.4  christos     | PARSEOP_QWORDSPACE
    730   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    731   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    732       1.1  christos     ;
    733       1.1  christos 
    734       1.1  christos RegisterTerm
    735   1.1.1.4  christos     : PARSEOP_REGISTER
    736   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_REGISTER);}
    737       1.1  christos         AddressSpaceKeyword
    738       1.1  christos         ',' ByteConstExpr
    739       1.1  christos         ',' ByteConstExpr
    740       1.1  christos         ',' QWordConstExpr
    741       1.1  christos         OptionalAccessSize
    742       1.1  christos         OptionalNameString_Last
    743   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
    744   1.1.1.4  christos     | PARSEOP_REGISTER
    745   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    746   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    747       1.1  christos     ;
    748       1.1  christos 
    749       1.1  christos SpiSerialBusTerm
    750   1.1.1.4  christos     : PARSEOP_SPI_SERIALBUS
    751   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS);}
    752       1.1  christos         WordConstExpr               /* 04: DeviceSelection */
    753       1.1  christos         OptionalDevicePolarity      /* 05: DevicePolarity */
    754       1.1  christos         OptionalWireMode            /* 06: WireMode */
    755       1.1  christos         ',' ByteConstExpr           /* 08: DataBitLength */
    756       1.1  christos         OptionalSlaveMode           /* 09: SlaveMode */
    757       1.1  christos         ',' DWordConstExpr          /* 11: ConnectionSpeed */
    758       1.1  christos         ',' ClockPolarityKeyword    /* 13: ClockPolarity */
    759       1.1  christos         ',' ClockPhaseKeyword       /* 15: ClockPhase */
    760       1.1  christos         ',' StringData              /* 17: ResourceSource */
    761       1.1  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    762       1.1  christos         OptionalResourceType        /* 19: ResourceType */
    763       1.1  christos         OptionalNameString          /* 20: DescriptorName */
    764       1.1  christos         OptionalBuffer_Last         /* 21: VendorData */
    765   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    766   1.1.1.3  christos                                         $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
    767   1.1.1.6  christos                                         TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
    768   1.1.1.4  christos     | PARSEOP_SPI_SERIALBUS
    769   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    770   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    771       1.1  christos     ;
    772       1.1  christos 
    773   1.1.1.2  christos SpiSerialBusTermV2
    774   1.1.1.4  christos     : PARSEOP_SPI_SERIALBUS_V2
    775   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS_V2);}
    776   1.1.1.2  christos         WordConstExpr               /* 04: DeviceSelection */
    777   1.1.1.2  christos         OptionalDevicePolarity      /* 05: DevicePolarity */
    778   1.1.1.2  christos         OptionalWireMode            /* 06: WireMode */
    779   1.1.1.2  christos         ',' ByteConstExpr           /* 08: DataBitLength */
    780   1.1.1.2  christos         OptionalSlaveMode           /* 09: SlaveMode */
    781   1.1.1.2  christos         ',' DWordConstExpr          /* 11: ConnectionSpeed */
    782   1.1.1.2  christos         ',' ClockPolarityKeyword    /* 13: ClockPolarity */
    783   1.1.1.2  christos         ',' ClockPhaseKeyword       /* 15: ClockPhase */
    784   1.1.1.2  christos         ',' StringData              /* 17: ResourceSource */
    785   1.1.1.2  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    786   1.1.1.2  christos         OptionalResourceType        /* 19: ResourceType */
    787   1.1.1.2  christos         OptionalNameString          /* 20: DescriptorName */
    788   1.1.1.2  christos         OptionalShareType           /* 21: Share */
    789   1.1.1.2  christos         OptionalBuffer_Last         /* 22: VendorData */
    790   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    791   1.1.1.3  christos                                         $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
    792   1.1.1.4  christos     | PARSEOP_SPI_SERIALBUS_V2
    793   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    794   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    795   1.1.1.2  christos     ;
    796   1.1.1.2  christos 
    797       1.1  christos StartDependentFnNoPriTerm
    798   1.1.1.4  christos     : PARSEOP_STARTDEPENDENTFN_NOPRI
    799   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN_NOPRI);}
    800   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    801   1.1.1.6  christos         ResourceMacroList '}'       {$$ = TrLinkOpChildren ($<n>3,1,$6);}
    802   1.1.1.4  christos     | PARSEOP_STARTDEPENDENTFN_NOPRI
    803   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    804   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    805       1.1  christos     ;
    806       1.1  christos 
    807       1.1  christos StartDependentFnTerm
    808   1.1.1.4  christos     : PARSEOP_STARTDEPENDENTFN
    809   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN);}
    810       1.1  christos         ByteConstExpr
    811       1.1  christos         ',' ByteConstExpr
    812   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    813   1.1.1.6  christos         ResourceMacroList '}'       {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$9);}
    814   1.1.1.4  christos     | PARSEOP_STARTDEPENDENTFN
    815   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    816   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    817       1.1  christos     ;
    818       1.1  christos 
    819       1.1  christos UartSerialBusTerm
    820   1.1.1.4  christos     : PARSEOP_UART_SERIALBUS
    821   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS);}
    822       1.1  christos         DWordConstExpr              /* 04: ConnectionSpeed */
    823       1.1  christos         OptionalBitsPerByte         /* 05: BitsPerByte */
    824       1.1  christos         OptionalStopBits            /* 06: StopBits */
    825       1.1  christos         ',' ByteConstExpr           /* 08: LinesInUse */
    826   1.1.1.8  christos         OptionalEndian              /* 09: Endianness */
    827       1.1  christos         OptionalParityType          /* 10: Parity */
    828       1.1  christos         OptionalFlowControl         /* 11: FlowControl */
    829       1.1  christos         ',' WordConstExpr           /* 13: Rx BufferSize */
    830       1.1  christos         ',' WordConstExpr           /* 15: Tx BufferSize */
    831       1.1  christos         ',' StringData              /* 17: ResourceSource */
    832       1.1  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    833       1.1  christos         OptionalResourceType        /* 19: ResourceType */
    834       1.1  christos         OptionalNameString          /* 20: DescriptorName */
    835       1.1  christos         OptionalBuffer_Last         /* 21: VendorData */
    836   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    837   1.1.1.3  christos                                         $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
    838   1.1.1.6  christos                                         TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
    839   1.1.1.4  christos     | PARSEOP_UART_SERIALBUS
    840   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    841   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    842       1.1  christos     ;
    843       1.1  christos 
    844   1.1.1.2  christos UartSerialBusTermV2
    845   1.1.1.4  christos     : PARSEOP_UART_SERIALBUS_V2
    846   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS_V2);}
    847   1.1.1.2  christos         DWordConstExpr              /* 04: ConnectionSpeed */
    848   1.1.1.2  christos         OptionalBitsPerByte         /* 05: BitsPerByte */
    849   1.1.1.2  christos         OptionalStopBits            /* 06: StopBits */
    850   1.1.1.2  christos         ',' ByteConstExpr           /* 08: LinesInUse */
    851   1.1.1.8  christos         OptionalEndian              /* 09: Endianness */
    852   1.1.1.2  christos         OptionalParityType          /* 10: Parity */
    853   1.1.1.2  christos         OptionalFlowControl         /* 11: FlowControl */
    854   1.1.1.2  christos         ',' WordConstExpr           /* 13: Rx BufferSize */
    855   1.1.1.2  christos         ',' WordConstExpr           /* 15: Tx BufferSize */
    856   1.1.1.2  christos         ',' StringData              /* 17: ResourceSource */
    857   1.1.1.2  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    858   1.1.1.2  christos         OptionalResourceType        /* 19: ResourceType */
    859   1.1.1.2  christos         OptionalNameString          /* 20: DescriptorName */
    860   1.1.1.2  christos         OptionalShareType           /* 21: Share */
    861   1.1.1.2  christos         OptionalBuffer_Last         /* 22: VendorData */
    862   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    863   1.1.1.3  christos                                         $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
    864   1.1.1.4  christos     | PARSEOP_UART_SERIALBUS_V2
    865   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    866   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    867   1.1.1.2  christos     ;
    868   1.1.1.2  christos 
    869       1.1  christos VendorLongTerm
    870   1.1.1.4  christos     : PARSEOP_VENDORLONG
    871   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORLONG);}
    872       1.1  christos         OptionalNameString_First
    873   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    874   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
    875   1.1.1.4  christos     | PARSEOP_VENDORLONG
    876   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    877   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    878       1.1  christos     ;
    879       1.1  christos 
    880       1.1  christos VendorShortTerm
    881   1.1.1.4  christos     : PARSEOP_VENDORSHORT
    882   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORSHORT);}
    883       1.1  christos         OptionalNameString_First
    884   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    885   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
    886   1.1.1.4  christos     | PARSEOP_VENDORSHORT
    887   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    888   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    889       1.1  christos     ;
    890       1.1  christos 
    891       1.1  christos WordBusNumberTerm
    892   1.1.1.4  christos     : PARSEOP_WORDBUSNUMBER
    893   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WORDBUSNUMBER);}
    894       1.1  christos         OptionalResourceType_First
    895       1.1  christos         OptionalMinType
    896       1.1  christos         OptionalMaxType
    897       1.1  christos         OptionalDecodeType
    898       1.1  christos         ',' WordConstExpr
    899       1.1  christos         ',' WordConstExpr
    900       1.1  christos         ',' WordConstExpr
    901       1.1  christos         ',' WordConstExpr
    902       1.1  christos         ',' WordConstExpr
    903       1.1  christos         OptionalByteConstExpr
    904       1.1  christos         OptionalStringData
    905       1.1  christos         OptionalNameString_Last
    906   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,12,
    907   1.1.1.3  christos                                         $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
    908   1.1.1.4  christos     | PARSEOP_WORDBUSNUMBER
    909   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    910   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    911       1.1  christos     ;
    912       1.1  christos 
    913       1.1  christos WordIOTerm
    914   1.1.1.4  christos     : PARSEOP_WORDIO
    915   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WORDIO);}
    916       1.1  christos         OptionalResourceType_First
    917       1.1  christos         OptionalMinType
    918       1.1  christos         OptionalMaxType
    919       1.1  christos         OptionalDecodeType
    920       1.1  christos         OptionalRangeType
    921       1.1  christos         ',' WordConstExpr
    922       1.1  christos         ',' WordConstExpr
    923       1.1  christos         ',' WordConstExpr
    924       1.1  christos         ',' WordConstExpr
    925       1.1  christos         ',' WordConstExpr
    926       1.1  christos         OptionalByteConstExpr
    927       1.1  christos         OptionalStringData
    928       1.1  christos         OptionalNameString
    929       1.1  christos         OptionalType
    930       1.1  christos         OptionalTranslationType_Last
    931   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    932   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
    933   1.1.1.4  christos     | PARSEOP_WORDIO
    934   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    935   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    936       1.1  christos     ;
    937       1.1  christos 
    938  1.1.1.13  christos WordPccTerm
    939  1.1.1.13  christos     : PARSEOP_WORDPCC
    940  1.1.1.13  christos         PARSEOP_OPEN_PAREN           {$<n>$ = TrCreateLeafOp (PARSEOP_WORDPCC);}
    941  1.1.1.13  christos         ByteConstExpr
    942  1.1.1.13  christos         OptionalByteConstExpr
    943  1.1.1.13  christos         OptionalStringData
    944  1.1.1.13  christos         OptionalNameString_Last
    945  1.1.1.13  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,4,
    946  1.1.1.13  christos                                                         $4,$5,$6,$7);}
    947  1.1.1.13  christos     | PARSEOP_WORDPCC
    948  1.1.1.13  christos         PARSEOP_OPEN_PAREN
    949  1.1.1.13  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    950  1.1.1.13  christos     ;
    951  1.1.1.13  christos 
    952       1.1  christos WordSpaceTerm
    953   1.1.1.4  christos     : PARSEOP_WORDSPACE
    954   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WORDSPACE);}
    955       1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    956       1.1  christos         OptionalResourceType
    957       1.1  christos         OptionalDecodeType
    958       1.1  christos         OptionalMinType
    959       1.1  christos         OptionalMaxType
    960       1.1  christos         ',' ByteConstExpr
    961       1.1  christos         ',' WordConstExpr
    962       1.1  christos         ',' WordConstExpr
    963       1.1  christos         ',' WordConstExpr
    964       1.1  christos         ',' WordConstExpr
    965       1.1  christos         ',' WordConstExpr
    966       1.1  christos         OptionalByteConstExpr
    967       1.1  christos         OptionalStringData
    968       1.1  christos         OptionalNameString_Last
    969   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    970   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
    971   1.1.1.4  christos     | PARSEOP_WORDSPACE
    972   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    973   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    974       1.1  christos     ;
    975