Home | History | Annotate | Line # | Download | only in compiler
      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.1.14  christos /******************************************************************************
     11  1.1.1.14  christos  *
     12  1.1.1.14  christos  * 1. Copyright Notice
     13  1.1.1.14  christos  *
     14  1.1.1.15  christos  * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
     15       1.1  christos  * All rights reserved.
     16       1.1  christos  *
     17  1.1.1.14  christos  * 2. License
     18  1.1.1.14  christos  *
     19  1.1.1.14  christos  * 2.1. This is your license from Intel Corp. under its intellectual property
     20  1.1.1.14  christos  * rights. You may have additional license terms from the party that provided
     21  1.1.1.14  christos  * you this software, covering your right to use that party's intellectual
     22  1.1.1.14  christos  * property rights.
     23  1.1.1.14  christos  *
     24  1.1.1.14  christos  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
     25  1.1.1.14  christos  * copy of the source code appearing in this file ("Covered Code") an
     26  1.1.1.14  christos  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
     27  1.1.1.14  christos  * base code distributed originally by Intel ("Original Intel Code") to copy,
     28  1.1.1.14  christos  * make derivatives, distribute, use and display any portion of the Covered
     29  1.1.1.14  christos  * Code in any form, with the right to sublicense such rights; and
     30  1.1.1.14  christos  *
     31  1.1.1.14  christos  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
     32  1.1.1.14  christos  * license (with the right to sublicense), under only those claims of Intel
     33  1.1.1.14  christos  * patents that are infringed by the Original Intel Code, to make, use, sell,
     34  1.1.1.14  christos  * offer to sell, and import the Covered Code and derivative works thereof
     35  1.1.1.14  christos  * solely to the minimum extent necessary to exercise the above copyright
     36  1.1.1.14  christos  * license, and in no event shall the patent license extend to any additions
     37  1.1.1.14  christos  * to or modifications of the Original Intel Code. No other license or right
     38  1.1.1.14  christos  * is granted directly or by implication, estoppel or otherwise;
     39  1.1.1.14  christos  *
     40  1.1.1.14  christos  * The above copyright and patent license is granted only if the following
     41  1.1.1.14  christos  * conditions are met:
     42  1.1.1.14  christos  *
     43  1.1.1.14  christos  * 3. Conditions
     44  1.1.1.14  christos  *
     45  1.1.1.14  christos  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
     46  1.1.1.14  christos  * Redistribution of source code of any substantial portion of the Covered
     47  1.1.1.14  christos  * Code or modification with rights to further distribute source must include
     48  1.1.1.14  christos  * the above Copyright Notice, the above License, this list of Conditions,
     49  1.1.1.14  christos  * and the following Disclaimer and Export Compliance provision. In addition,
     50  1.1.1.14  christos  * Licensee must cause all Covered Code to which Licensee contributes to
     51  1.1.1.14  christos  * contain a file documenting the changes Licensee made to create that Covered
     52  1.1.1.14  christos  * Code and the date of any change. Licensee must include in that file the
     53  1.1.1.14  christos  * documentation of any changes made by any predecessor Licensee. Licensee
     54  1.1.1.14  christos  * must include a prominent statement that the modification is derived,
     55  1.1.1.14  christos  * directly or indirectly, from Original Intel Code.
     56  1.1.1.14  christos  *
     57  1.1.1.14  christos  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
     58  1.1.1.14  christos  * Redistribution of source code of any substantial portion of the Covered
     59  1.1.1.14  christos  * Code or modification without rights to further distribute source must
     60  1.1.1.14  christos  * include the following Disclaimer and Export Compliance provision in the
     61  1.1.1.14  christos  * documentation and/or other materials provided with distribution. In
     62  1.1.1.14  christos  * addition, Licensee may not authorize further sublicense of source of any
     63  1.1.1.14  christos  * portion of the Covered Code, and must include terms to the effect that the
     64  1.1.1.14  christos  * license from Licensee to its licensee is limited to the intellectual
     65  1.1.1.14  christos  * property embodied in the software Licensee provides to its licensee, and
     66  1.1.1.14  christos  * not to intellectual property embodied in modifications its licensee may
     67  1.1.1.14  christos  * make.
     68  1.1.1.14  christos  *
     69  1.1.1.14  christos  * 3.3. Redistribution of Executable. Redistribution in executable form of any
     70  1.1.1.14  christos  * substantial portion of the Covered Code or modification must reproduce the
     71  1.1.1.14  christos  * above Copyright Notice, and the following Disclaimer and Export Compliance
     72  1.1.1.14  christos  * provision in the documentation and/or other materials provided with the
     73  1.1.1.14  christos  * distribution.
     74  1.1.1.14  christos  *
     75  1.1.1.14  christos  * 3.4. Intel retains all right, title, and interest in and to the Original
     76  1.1.1.14  christos  * Intel Code.
     77  1.1.1.14  christos  *
     78  1.1.1.14  christos  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
     79  1.1.1.14  christos  * Intel shall be used in advertising or otherwise to promote the sale, use or
     80  1.1.1.14  christos  * other dealings in products derived from or relating to the Covered Code
     81  1.1.1.14  christos  * without prior written authorization from Intel.
     82  1.1.1.14  christos  *
     83  1.1.1.14  christos  * 4. Disclaimer and Export Compliance
     84  1.1.1.14  christos  *
     85  1.1.1.14  christos  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
     86  1.1.1.14  christos  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
     87  1.1.1.14  christos  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
     88  1.1.1.14  christos  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
     89  1.1.1.14  christos  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
     90  1.1.1.14  christos  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
     91  1.1.1.14  christos  * PARTICULAR PURPOSE.
     92  1.1.1.14  christos  *
     93  1.1.1.14  christos  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
     94  1.1.1.14  christos  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
     95  1.1.1.14  christos  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
     96  1.1.1.14  christos  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
     97  1.1.1.14  christos  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
     98  1.1.1.14  christos  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
     99  1.1.1.14  christos  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
    100  1.1.1.14  christos  * LIMITED REMEDY.
    101  1.1.1.14  christos  *
    102  1.1.1.14  christos  * 4.3. Licensee shall not export, either directly or indirectly, any of this
    103  1.1.1.14  christos  * software or system incorporating such software without first obtaining any
    104  1.1.1.14  christos  * required license or other approval from the U. S. Department of Commerce or
    105  1.1.1.14  christos  * any other agency or department of the United States Government. In the
    106  1.1.1.14  christos  * event Licensee exports any such software from the United States or
    107  1.1.1.14  christos  * re-exports any such software from a foreign destination, Licensee shall
    108  1.1.1.14  christos  * ensure that the distribution and export/re-export of the software is in
    109  1.1.1.14  christos  * compliance with all laws, regulations, orders, or other restrictions of the
    110  1.1.1.14  christos  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
    111  1.1.1.14  christos  * any of its subsidiaries will export/re-export any technical data, process,
    112  1.1.1.14  christos  * software, or service, directly or indirectly, to any country for which the
    113  1.1.1.14  christos  * United States government or any agency thereof requires an export license,
    114  1.1.1.14  christos  * other governmental approval, or letter of assurance, without first obtaining
    115  1.1.1.14  christos  * such license, approval or letter.
    116  1.1.1.14  christos  *
    117  1.1.1.14  christos  *****************************************************************************
    118  1.1.1.14  christos  *
    119  1.1.1.14  christos  * Alternatively, you may choose to be licensed under the terms of the
    120  1.1.1.14  christos  * following license:
    121  1.1.1.14  christos  *
    122       1.1  christos  * Redistribution and use in source and binary forms, with or without
    123       1.1  christos  * modification, are permitted provided that the following conditions
    124       1.1  christos  * are met:
    125       1.1  christos  * 1. Redistributions of source code must retain the above copyright
    126       1.1  christos  *    notice, this list of conditions, and the following disclaimer,
    127       1.1  christos  *    without modification.
    128       1.1  christos  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
    129       1.1  christos  *    substantially similar to the "NO WARRANTY" disclaimer below
    130       1.1  christos  *    ("Disclaimer") and any redistribution must be conditioned upon
    131       1.1  christos  *    including a substantially similar Disclaimer requirement for further
    132       1.1  christos  *    binary redistribution.
    133       1.1  christos  * 3. Neither the names of the above-listed copyright holders nor the names
    134       1.1  christos  *    of any contributors may be used to endorse or promote products derived
    135       1.1  christos  *    from this software without specific prior written permission.
    136       1.1  christos  *
    137       1.1  christos  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    138       1.1  christos  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    139  1.1.1.10  christos  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    140       1.1  christos  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    141  1.1.1.14  christos  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    142  1.1.1.14  christos  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    143  1.1.1.14  christos  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    144  1.1.1.14  christos  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    145  1.1.1.14  christos  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    146  1.1.1.14  christos  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    147  1.1.1.14  christos  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    148  1.1.1.14  christos  *
    149  1.1.1.14  christos  * Alternatively, you may choose to be licensed under the terms of the
    150  1.1.1.14  christos  * GNU General Public License ("GPL") version 2 as published by the Free
    151  1.1.1.14  christos  * Software Foundation.
    152  1.1.1.14  christos  *
    153  1.1.1.14  christos  *****************************************************************************/
    154       1.1  christos 
    155       1.1  christos ')
    156       1.1  christos 
    157       1.1  christos 
    158       1.1  christos /*******************************************************************************
    159       1.1  christos  *
    160       1.1  christos  * ASL Resource Template Terms
    161       1.1  christos  *
    162       1.1  christos  ******************************************************************************/
    163       1.1  christos 
    164       1.1  christos /*
    165       1.1  christos  * Note: Create two default nodes to allow conversion to a Buffer AML opcode
    166       1.1  christos  * Also, insert the EndTag at the end of the template.
    167       1.1  christos  */
    168       1.1  christos ResourceTemplateTerm
    169   1.1.1.5  christos     : PARSEOP_RESOURCETEMPLATE      {COMMENT_CAPTURE_OFF;}
    170   1.1.1.4  christos         OptionalParentheses
    171       1.1  christos         '{'
    172   1.1.1.6  christos         ResourceMacroList '}'       {$$ = TrCreateOp (PARSEOP_RESOURCETEMPLATE,4,
    173   1.1.1.6  christos                                           TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
    174   1.1.1.6  christos                                           TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
    175   1.1.1.5  christos                                           $5,
    176   1.1.1.6  christos                                           TrCreateLeafOp (PARSEOP_ENDTAG));
    177   1.1.1.5  christos                                      COMMENT_CAPTURE_ON;}
    178       1.1  christos     ;
    179       1.1  christos 
    180   1.1.1.3  christos OptionalParentheses
    181   1.1.1.3  christos     :                               {$$ = NULL;}
    182   1.1.1.4  christos     | PARSEOP_OPEN_PAREN
    183   1.1.1.4  christos         PARSEOP_CLOSE_PAREN         {$$ = NULL;}
    184   1.1.1.3  christos     ;
    185   1.1.1.3  christos 
    186       1.1  christos ResourceMacroList
    187       1.1  christos     :                               {$$ = NULL;}
    188       1.1  christos     | ResourceMacroList
    189   1.1.1.6  christos         ResourceMacroTerm           {$$ = TrLinkPeerOp ($1,$2);}
    190       1.1  christos     ;
    191       1.1  christos 
    192       1.1  christos ResourceMacroTerm
    193  1.1.1.10  christos     : Csi2SerialBusTerm             {}
    194  1.1.1.10  christos     | DMATerm                       {}
    195       1.1  christos     | DWordIOTerm                   {}
    196       1.1  christos     | DWordMemoryTerm               {}
    197  1.1.1.13  christos     | DWordPccTerm                  {}
    198       1.1  christos     | DWordSpaceTerm                {}
    199       1.1  christos     | EndDependentFnTerm            {}
    200       1.1  christos     | ExtendedIOTerm                {}
    201       1.1  christos     | ExtendedMemoryTerm            {}
    202       1.1  christos     | ExtendedSpaceTerm             {}
    203       1.1  christos     | FixedDmaTerm                  {}
    204       1.1  christos     | FixedIOTerm                   {}
    205       1.1  christos     | GpioIntTerm                   {}
    206       1.1  christos     | GpioIoTerm                    {}
    207       1.1  christos     | I2cSerialBusTerm              {}
    208   1.1.1.2  christos     | I2cSerialBusTermV2            {}
    209       1.1  christos     | InterruptTerm                 {}
    210       1.1  christos     | IOTerm                        {}
    211       1.1  christos     | IRQNoFlagsTerm                {}
    212       1.1  christos     | IRQTerm                       {}
    213       1.1  christos     | Memory24Term                  {}
    214       1.1  christos     | Memory32FixedTerm             {}
    215       1.1  christos     | Memory32Term                  {}
    216   1.1.1.6  christos     | PinConfigTerm                 {}
    217   1.1.1.6  christos     | PinFunctionTerm               {}
    218  1.1.1.12  christos     | ClockInputTerm                {}
    219   1.1.1.6  christos     | PinGroupTerm                  {}
    220   1.1.1.6  christos     | PinGroupConfigTerm            {}
    221   1.1.1.6  christos     | PinGroupFunctionTerm          {}
    222       1.1  christos     | QWordIOTerm                   {}
    223       1.1  christos     | QWordMemoryTerm               {}
    224  1.1.1.13  christos     | QWordPccTerm                  {}
    225       1.1  christos     | QWordSpaceTerm                {}
    226       1.1  christos     | RegisterTerm                  {}
    227       1.1  christos     | SpiSerialBusTerm              {}
    228   1.1.1.2  christos     | SpiSerialBusTermV2            {}
    229       1.1  christos     | StartDependentFnNoPriTerm     {}
    230       1.1  christos     | StartDependentFnTerm          {}
    231       1.1  christos     | UartSerialBusTerm             {}
    232   1.1.1.2  christos     | UartSerialBusTermV2           {}
    233       1.1  christos     | VendorLongTerm                {}
    234       1.1  christos     | VendorShortTerm               {}
    235       1.1  christos     | WordBusNumberTerm             {}
    236       1.1  christos     | WordIOTerm                    {}
    237  1.1.1.13  christos     | WordPccTerm                   {}
    238       1.1  christos     | WordSpaceTerm                 {}
    239       1.1  christos     ;
    240       1.1  christos 
    241  1.1.1.10  christos Csi2SerialBusTerm
    242  1.1.1.10  christos     : PARSEOP_CSI2_SERIALBUS
    243  1.1.1.10  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CSI2_SERIALBUS);}
    244  1.1.1.10  christos         OptionalSlaveMode_First     {UtCheckIntegerRange ($4, 0x00, 0x01);} /* 04: SlaveMode */
    245  1.1.1.10  christos         ',' ByteConstExpr           {UtCheckIntegerRange ($7, 0x00, 0x03);} /* 07: PhyType */
    246  1.1.1.10  christos         OptionalByteConstExpr       {UtCheckIntegerRange ($9, 0x00, 0xFC);} /* 09: LocalPortInstance */
    247  1.1.1.10  christos         ',' StringData              /* 12: ResourceSource */
    248  1.1.1.10  christos         ',' ByteConstExpr           /* 14: ResourceSourceIndex */
    249  1.1.1.10  christos         OptionalResourceType        /* 15; ResourceType (ResourceUsage) */
    250  1.1.1.10  christos         OptionalNameString          /* 16: DescriptorName */
    251  1.1.1.10  christos         OptionalBuffer_Last         /* 17: VendorData */
    252  1.1.1.10  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,8,
    253  1.1.1.10  christos                                         $4,$7,$9,$12,$14,$15,$16,$17);}
    254  1.1.1.10  christos     | PARSEOP_CSI2_SERIALBUS
    255  1.1.1.10  christos         PARSEOP_OPEN_PAREN
    256  1.1.1.10  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    257  1.1.1.10  christos 
    258       1.1  christos DMATerm
    259   1.1.1.4  christos     : PARSEOP_DMA
    260   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DMA);}
    261       1.1  christos         DMATypeKeyword
    262       1.1  christos         OptionalBusMasterKeyword
    263       1.1  christos         ',' XferTypeKeyword
    264       1.1  christos         OptionalNameString_Last
    265   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    266   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$7,$8,$11);}
    267   1.1.1.4  christos     | PARSEOP_DMA
    268   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    269   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    270       1.1  christos     ;
    271       1.1  christos 
    272       1.1  christos DWordIOTerm
    273   1.1.1.4  christos     : PARSEOP_DWORDIO
    274   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDIO);}
    275       1.1  christos         OptionalResourceType_First
    276       1.1  christos         OptionalMinType
    277       1.1  christos         OptionalMaxType
    278       1.1  christos         OptionalDecodeType
    279       1.1  christos         OptionalRangeType
    280       1.1  christos         ',' DWordConstExpr
    281       1.1  christos         ',' DWordConstExpr
    282       1.1  christos         ',' DWordConstExpr
    283       1.1  christos         ',' DWordConstExpr
    284       1.1  christos         ',' DWordConstExpr
    285       1.1  christos         OptionalByteConstExpr
    286       1.1  christos         OptionalStringData
    287       1.1  christos         OptionalNameString
    288       1.1  christos         OptionalType
    289       1.1  christos         OptionalTranslationType_Last
    290   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    291   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
    292   1.1.1.4  christos     | PARSEOP_DWORDIO
    293   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    294   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    295       1.1  christos     ;
    296       1.1  christos 
    297       1.1  christos DWordMemoryTerm
    298   1.1.1.4  christos     : PARSEOP_DWORDMEMORY
    299   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDMEMORY);}
    300       1.1  christos         OptionalResourceType_First
    301       1.1  christos         OptionalDecodeType
    302       1.1  christos         OptionalMinType
    303       1.1  christos         OptionalMaxType
    304       1.1  christos         OptionalMemType
    305       1.1  christos         ',' OptionalReadWriteKeyword
    306       1.1  christos         ',' DWordConstExpr
    307       1.1  christos         ',' DWordConstExpr
    308       1.1  christos         ',' DWordConstExpr
    309       1.1  christos         ',' DWordConstExpr
    310       1.1  christos         ',' DWordConstExpr
    311       1.1  christos         OptionalByteConstExpr
    312       1.1  christos         OptionalStringData
    313       1.1  christos         OptionalNameString
    314       1.1  christos         OptionalAddressRange
    315       1.1  christos         OptionalType_Last
    316   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,16,
    317   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
    318   1.1.1.4  christos     | PARSEOP_DWORDMEMORY
    319   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    320   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    321       1.1  christos     ;
    322       1.1  christos 
    323  1.1.1.13  christos DWordPccTerm
    324  1.1.1.13  christos     : PARSEOP_DWORDPCC
    325  1.1.1.13  christos         PARSEOP_OPEN_PAREN           {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDPCC);}
    326  1.1.1.13  christos         ByteConstExpr
    327  1.1.1.13  christos         OptionalByteConstExpr
    328  1.1.1.13  christos         OptionalStringData
    329  1.1.1.13  christos         OptionalNameString_Last
    330  1.1.1.13  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,4,
    331  1.1.1.13  christos                                                         $4,$5,$6,$7);}
    332  1.1.1.13  christos     | PARSEOP_DWORDPCC
    333  1.1.1.13  christos         PARSEOP_OPEN_PAREN
    334  1.1.1.13  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    335  1.1.1.13  christos     ;
    336  1.1.1.13  christos 
    337       1.1  christos DWordSpaceTerm
    338   1.1.1.4  christos     : PARSEOP_DWORDSPACE
    339   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDSPACE);}
    340       1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    341       1.1  christos         OptionalResourceType
    342       1.1  christos         OptionalDecodeType
    343       1.1  christos         OptionalMinType
    344       1.1  christos         OptionalMaxType
    345       1.1  christos         ',' ByteConstExpr
    346       1.1  christos         ',' DWordConstExpr
    347       1.1  christos         ',' DWordConstExpr
    348       1.1  christos         ',' DWordConstExpr
    349       1.1  christos         ',' DWordConstExpr
    350       1.1  christos         ',' DWordConstExpr
    351       1.1  christos         OptionalByteConstExpr
    352       1.1  christos         OptionalStringData
    353       1.1  christos         OptionalNameString_Last
    354   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    355   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
    356   1.1.1.4  christos     | PARSEOP_DWORDSPACE
    357   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    358   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    359       1.1  christos     ;
    360       1.1  christos 
    361       1.1  christos EndDependentFnTerm
    362   1.1.1.4  christos     : PARSEOP_ENDDEPENDENTFN
    363   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    364   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrCreateLeafOp (PARSEOP_ENDDEPENDENTFN);}
    365   1.1.1.4  christos     | PARSEOP_ENDDEPENDENTFN
    366   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    367   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    368       1.1  christos     ;
    369       1.1  christos 
    370       1.1  christos ExtendedIOTerm
    371   1.1.1.4  christos     : PARSEOP_EXTENDEDIO
    372   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDIO);}
    373       1.1  christos         OptionalResourceType_First
    374       1.1  christos         OptionalMinType
    375       1.1  christos         OptionalMaxType
    376       1.1  christos         OptionalDecodeType
    377       1.1  christos         OptionalRangeType
    378       1.1  christos         ',' QWordConstExpr
    379       1.1  christos         ',' QWordConstExpr
    380       1.1  christos         ',' QWordConstExpr
    381       1.1  christos         ',' QWordConstExpr
    382       1.1  christos         ',' QWordConstExpr
    383       1.1  christos         OptionalQWordConstExpr
    384       1.1  christos         OptionalNameString
    385       1.1  christos         OptionalType
    386       1.1  christos         OptionalTranslationType_Last
    387   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    388   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
    389   1.1.1.4  christos     | PARSEOP_EXTENDEDIO
    390   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    391   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    392       1.1  christos     ;
    393       1.1  christos 
    394       1.1  christos ExtendedMemoryTerm
    395   1.1.1.4  christos     : PARSEOP_EXTENDEDMEMORY
    396   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDMEMORY);}
    397       1.1  christos         OptionalResourceType_First
    398       1.1  christos         OptionalDecodeType
    399       1.1  christos         OptionalMinType
    400       1.1  christos         OptionalMaxType
    401       1.1  christos         OptionalMemType
    402       1.1  christos         ',' OptionalReadWriteKeyword
    403       1.1  christos         ',' QWordConstExpr
    404       1.1  christos         ',' QWordConstExpr
    405       1.1  christos         ',' QWordConstExpr
    406       1.1  christos         ',' QWordConstExpr
    407       1.1  christos         ',' QWordConstExpr
    408       1.1  christos         OptionalQWordConstExpr
    409       1.1  christos         OptionalNameString
    410       1.1  christos         OptionalAddressRange
    411       1.1  christos         OptionalType_Last
    412   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    413   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
    414   1.1.1.4  christos     | PARSEOP_EXTENDEDMEMORY
    415   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    416   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    417       1.1  christos     ;
    418       1.1  christos 
    419       1.1  christos ExtendedSpaceTerm
    420   1.1.1.6  christos     : PARSEOP_EXTENDEDSPACE PARSEOP_OPEN_PAREN     {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDSPACE);}
    421       1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    422       1.1  christos         OptionalResourceType
    423       1.1  christos         OptionalDecodeType
    424       1.1  christos         OptionalMinType
    425       1.1  christos         OptionalMaxType
    426       1.1  christos         ',' ByteConstExpr
    427       1.1  christos         ',' QWordConstExpr
    428       1.1  christos         ',' QWordConstExpr
    429       1.1  christos         ',' QWordConstExpr
    430       1.1  christos         ',' QWordConstExpr
    431       1.1  christos         ',' QWordConstExpr
    432       1.1  christos         OptionalQWordConstExpr
    433       1.1  christos         OptionalNameString_Last
    434   1.1.1.6  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,13,
    435   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
    436   1.1.1.4  christos     | PARSEOP_EXTENDEDSPACE
    437   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    438   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    439       1.1  christos     ;
    440       1.1  christos 
    441       1.1  christos FixedDmaTerm
    442   1.1.1.4  christos     : PARSEOP_FIXEDDMA
    443   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDDMA);}
    444       1.1  christos         WordConstExpr               /* 04: DMA RequestLines */
    445       1.1  christos         ',' WordConstExpr           /* 06: DMA Channels */
    446       1.1  christos         OptionalXferSize            /* 07: DMA TransferSize */
    447       1.1  christos         OptionalNameString          /* 08: DescriptorName */
    448   1.1.1.6  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$7,$8);}
    449   1.1.1.4  christos     | PARSEOP_FIXEDDMA
    450   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    451   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    452       1.1  christos     ;
    453       1.1  christos 
    454       1.1  christos FixedIOTerm
    455   1.1.1.4  christos     : PARSEOP_FIXEDIO
    456   1.1.1.6  christos         PARSEOP_OPEN_PAREN           {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDIO);}
    457       1.1  christos         WordConstExpr
    458       1.1  christos         ',' ByteConstExpr
    459       1.1  christos         OptionalNameString_Last
    460   1.1.1.6  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
    461   1.1.1.4  christos     | PARSEOP_FIXEDIO
    462   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    463   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    464       1.1  christos     ;
    465       1.1  christos 
    466       1.1  christos GpioIntTerm
    467   1.1.1.4  christos     : PARSEOP_GPIO_INT
    468   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_INT);}
    469       1.1  christos         InterruptTypeKeyword        /* 04: InterruptType */
    470       1.1  christos         ',' InterruptLevel          /* 06: InterruptLevel */
    471       1.1  christos         OptionalShareType           /* 07: SharedType */
    472       1.1  christos         ',' PinConfigByte           /* 09: PinConfig */
    473       1.1  christos         OptionalWordConstExpr       /* 10: DebounceTimeout */
    474       1.1  christos         ',' StringData              /* 12: ResourceSource */
    475       1.1  christos         OptionalByteConstExpr       /* 13: ResourceSourceIndex */
    476       1.1  christos         OptionalResourceType        /* 14: ResourceType */
    477       1.1  christos         OptionalNameString          /* 15: DescriptorName */
    478       1.1  christos         OptionalBuffer_Last         /* 16: VendorData */
    479   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    480   1.1.1.6  christos             DWordConstExpr '}'      {$$ = TrLinkOpChildren ($<n>3,11,
    481   1.1.1.3  christos                                         $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
    482   1.1.1.4  christos     | PARSEOP_GPIO_INT
    483   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    484   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    485       1.1  christos     ;
    486       1.1  christos 
    487       1.1  christos GpioIoTerm
    488   1.1.1.4  christos     : PARSEOP_GPIO_IO
    489   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_IO);}
    490       1.1  christos         OptionalShareType_First     /* 04: SharedType */
    491       1.1  christos         ',' PinConfigByte           /* 06: PinConfig */
    492       1.1  christos         OptionalWordConstExpr       /* 07: DebounceTimeout */
    493       1.1  christos         OptionalWordConstExpr       /* 08: DriveStrength */
    494       1.1  christos         OptionalIoRestriction       /* 09: IoRestriction */
    495       1.1  christos         ',' StringData              /* 11: ResourceSource */
    496       1.1  christos         OptionalByteConstExpr       /* 12: ResourceSourceIndex */
    497       1.1  christos         OptionalResourceType        /* 13: ResourceType */
    498       1.1  christos         OptionalNameString          /* 14: DescriptorName */
    499       1.1  christos         OptionalBuffer_Last         /* 15: VendorData */
    500   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    501   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,11,
    502   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
    503   1.1.1.4  christos     | PARSEOP_GPIO_IO
    504   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    505   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    506       1.1  christos     ;
    507       1.1  christos 
    508       1.1  christos I2cSerialBusTerm
    509   1.1.1.4  christos     : PARSEOP_I2C_SERIALBUS
    510   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS);}
    511       1.1  christos         WordConstExpr               /* 04: SlaveAddress */
    512       1.1  christos         OptionalSlaveMode           /* 05: SlaveMode */
    513       1.1  christos         ',' DWordConstExpr          /* 07: ConnectionSpeed */
    514       1.1  christos         OptionalAddressingMode      /* 08: AddressingMode */
    515       1.1  christos         ',' StringData              /* 10: ResourceSource */
    516       1.1  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    517       1.1  christos         OptionalResourceType        /* 12: ResourceType */
    518       1.1  christos         OptionalNameString          /* 13: DescriptorName */
    519       1.1  christos         OptionalBuffer_Last         /* 14: VendorData */
    520   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,10,
    521   1.1.1.3  christos                                         $4,$5,$7,$8,$10,$11,$12,$13,
    522   1.1.1.6  christos                                         TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$14);}
    523   1.1.1.4  christos     | PARSEOP_I2C_SERIALBUS
    524   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    525   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    526       1.1  christos     ;
    527       1.1  christos 
    528   1.1.1.2  christos I2cSerialBusTermV2
    529   1.1.1.4  christos     : PARSEOP_I2C_SERIALBUS_V2
    530   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS_V2);}
    531   1.1.1.2  christos         WordConstExpr               /* 04: SlaveAddress */
    532   1.1.1.2  christos         OptionalSlaveMode           /* 05: SlaveMode */
    533   1.1.1.2  christos         ',' DWordConstExpr          /* 07: ConnectionSpeed */
    534   1.1.1.2  christos         OptionalAddressingMode      /* 08: AddressingMode */
    535   1.1.1.2  christos         ',' StringData              /* 10: ResourceSource */
    536   1.1.1.2  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    537   1.1.1.2  christos         OptionalResourceType        /* 12: ResourceType */
    538   1.1.1.2  christos         OptionalNameString          /* 13: DescriptorName */
    539   1.1.1.2  christos         OptionalShareType           /* 14: Share */
    540   1.1.1.2  christos         OptionalBuffer_Last         /* 15: VendorData */
    541   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,10,
    542   1.1.1.3  christos                                         $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
    543   1.1.1.4  christos     | PARSEOP_I2C_SERIALBUS_V2
    544   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    545   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    546   1.1.1.2  christos     ;
    547   1.1.1.2  christos 
    548       1.1  christos InterruptTerm
    549   1.1.1.4  christos     : PARSEOP_INTERRUPT
    550   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_INTERRUPT);}
    551       1.1  christos         OptionalResourceType_First
    552       1.1  christos         ',' InterruptTypeKeyword
    553       1.1  christos         ',' InterruptLevel
    554       1.1  christos         OptionalShareType
    555       1.1  christos         OptionalByteConstExpr
    556       1.1  christos         OptionalStringData
    557       1.1  christos         OptionalNameString_Last
    558   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    559   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,8,
    560   1.1.1.3  christos                                         $4,$6,$8,$9,$10,$11,$12,$15);}
    561   1.1.1.4  christos     | PARSEOP_INTERRUPT
    562   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    563   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    564       1.1  christos     ;
    565       1.1  christos 
    566       1.1  christos IOTerm
    567   1.1.1.4  christos     : PARSEOP_IO
    568   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IO);}
    569       1.1  christos         IODecodeKeyword
    570       1.1  christos         ',' WordConstExpr
    571       1.1  christos         ',' WordConstExpr
    572       1.1  christos         ',' ByteConstExpr
    573       1.1  christos         ',' ByteConstExpr
    574       1.1  christos         OptionalNameString_Last
    575   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
    576   1.1.1.4  christos     | PARSEOP_IO
    577   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    578   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    579       1.1  christos     ;
    580       1.1  christos 
    581       1.1  christos IRQNoFlagsTerm
    582   1.1.1.4  christos     : PARSEOP_IRQNOFLAGS
    583   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IRQNOFLAGS);}
    584       1.1  christos         OptionalNameString_First
    585   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    586   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
    587   1.1.1.4  christos     | PARSEOP_IRQNOFLAGS
    588   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    589   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    590       1.1  christos     ;
    591       1.1  christos 
    592       1.1  christos IRQTerm
    593   1.1.1.4  christos     : PARSEOP_IRQ
    594   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IRQ);}
    595       1.1  christos         InterruptTypeKeyword
    596       1.1  christos         ',' InterruptLevel
    597       1.1  christos         OptionalShareType
    598       1.1  christos         OptionalNameString_Last
    599   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    600   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,5,$4,$6,$7,$8,$11);}
    601   1.1.1.4  christos     | PARSEOP_IRQ
    602   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    603   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    604       1.1  christos     ;
    605       1.1  christos 
    606       1.1  christos Memory24Term
    607   1.1.1.4  christos     : PARSEOP_MEMORY24
    608   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY24);}
    609       1.1  christos         OptionalReadWriteKeyword
    610       1.1  christos         ',' WordConstExpr
    611       1.1  christos         ',' WordConstExpr
    612       1.1  christos         ',' WordConstExpr
    613       1.1  christos         ',' WordConstExpr
    614       1.1  christos         OptionalNameString_Last
    615   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
    616   1.1.1.4  christos     | PARSEOP_MEMORY24
    617   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    618   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    619       1.1  christos     ;
    620       1.1  christos 
    621       1.1  christos Memory32FixedTerm
    622   1.1.1.4  christos     : PARSEOP_MEMORY32FIXED
    623   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32FIXED);}
    624       1.1  christos         OptionalReadWriteKeyword
    625       1.1  christos         ',' DWordConstExpr
    626       1.1  christos         ',' DWordConstExpr
    627       1.1  christos         OptionalNameString_Last
    628   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$8,$9);}
    629   1.1.1.4  christos     | PARSEOP_MEMORY32FIXED
    630   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    631   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    632       1.1  christos     ;
    633       1.1  christos 
    634       1.1  christos Memory32Term
    635   1.1.1.4  christos     : PARSEOP_MEMORY32
    636   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32);}
    637       1.1  christos         OptionalReadWriteKeyword
    638       1.1  christos         ',' DWordConstExpr
    639       1.1  christos         ',' DWordConstExpr
    640       1.1  christos         ',' DWordConstExpr
    641       1.1  christos         ',' DWordConstExpr
    642       1.1  christos         OptionalNameString_Last
    643   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
    644   1.1.1.4  christos     | PARSEOP_MEMORY32
    645   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    646   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    647       1.1  christos     ;
    648       1.1  christos 
    649   1.1.1.6  christos PinConfigTerm
    650   1.1.1.6  christos     : PARSEOP_PINCONFIG
    651   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINCONFIG);}
    652   1.1.1.6  christos         OptionalShareType_First     /* 04: SharedType */
    653   1.1.1.6  christos         ',' ByteConstExpr           /* 06: PinConfigType */
    654   1.1.1.6  christos         ',' DWordConstExpr          /* 08: PinConfigValue */
    655   1.1.1.6  christos         ',' StringData              /* 10: ResourceSource */
    656   1.1.1.6  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    657   1.1.1.6  christos         OptionalResourceType        /* 12: ResourceType */
    658   1.1.1.6  christos         OptionalNameString          /* 13: DescriptorName */
    659   1.1.1.6  christos         OptionalBuffer_Last         /* 14: VendorData */
    660   1.1.1.6  christos         PARSEOP_CLOSE_PAREN '{'
    661   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,9,
    662   1.1.1.6  christos                                         $4,$6,$8,$10,$11,$12,$13,$14,$17);}
    663   1.1.1.6  christos     | PARSEOP_PINCONFIG
    664   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    665   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    666   1.1.1.6  christos     ;
    667   1.1.1.6  christos 
    668   1.1.1.6  christos PinFunctionTerm
    669   1.1.1.6  christos     : PARSEOP_PINFUNCTION
    670   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINFUNCTION);}
    671   1.1.1.6  christos         OptionalShareType_First     /* 04: SharedType */
    672   1.1.1.6  christos         ',' PinConfigByte           /* 06: PinConfig */
    673   1.1.1.6  christos         ',' WordConstExpr           /* 08: FunctionNumber */
    674   1.1.1.6  christos         ',' StringData              /* 10: ResourceSource */
    675   1.1.1.6  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    676   1.1.1.6  christos         OptionalResourceType        /* 12: ResourceType */
    677   1.1.1.6  christos         OptionalNameString          /* 13: DescriptorName */
    678   1.1.1.6  christos         OptionalBuffer_Last         /* 14: VendorData */
    679   1.1.1.6  christos         PARSEOP_CLOSE_PAREN '{'
    680   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,9,
    681   1.1.1.6  christos                                         $4,$6,$8,$10,$11,$12,$13,$14,$17);}
    682   1.1.1.6  christos     | PARSEOP_PINFUNCTION
    683   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    684   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    685   1.1.1.6  christos     ;
    686   1.1.1.6  christos 
    687  1.1.1.12  christos ClockInputTerm
    688  1.1.1.12  christos     : PARSEOP_CLOCKINPUT
    689  1.1.1.12  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CLOCKINPUT);}
    690  1.1.1.12  christos         DWordConstExpr              /* 04: FrequencyNumerator */
    691  1.1.1.12  christos         ',' WordConstExpr           /* 06: FrequencyDivisor */
    692  1.1.1.12  christos         ',' ClockScaleKeyword       /* 08: Scale */
    693  1.1.1.12  christos         ',' ClockModeKeyword        /* 10: Mode*/
    694  1.1.1.12  christos         OptionalStringData          /* 11: ResourceSource */
    695  1.1.1.12  christos         OptionalByteConstExpr       /* 12: ResourceSourceIndex */
    696  1.1.1.12  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
    697  1.1.1.12  christos     | PARSEOP_CLOCKINPUT
    698  1.1.1.12  christos         PARSEOP_OPEN_PAREN
    699  1.1.1.12  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    700  1.1.1.12  christos     ;
    701  1.1.1.12  christos 
    702   1.1.1.6  christos PinGroupTerm
    703   1.1.1.6  christos     : PARSEOP_PINGROUP
    704   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);}
    705   1.1.1.6  christos         StringData                  /* 04: ResourceLabel */
    706   1.1.1.6  christos         OptionalProducerResourceType /* 05: ResourceType */
    707   1.1.1.6  christos         OptionalNameString          /* 06: DescriptorName */
    708   1.1.1.6  christos         OptionalBuffer_Last         /* 07: VendorData */
    709   1.1.1.6  christos         PARSEOP_CLOSE_PAREN '{'
    710   1.1.1.6  christos             DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
    711   1.1.1.6  christos     | PARSEOP_PINGROUP
    712   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    713   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    714   1.1.1.6  christos     ;
    715   1.1.1.6  christos 
    716   1.1.1.6  christos PinGroupConfigTerm
    717   1.1.1.6  christos     : PARSEOP_PINGROUPCONFIG
    718   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPCONFIG);}
    719   1.1.1.6  christos         OptionalShareType_First     /* 04: SharedType */
    720   1.1.1.6  christos         ',' ByteConstExpr           /* 06: PinConfigType */
    721   1.1.1.6  christos         ',' DWordConstExpr          /* 08: PinConfigValue */
    722   1.1.1.6  christos         ',' StringData              /* 10: ResourceSource */
    723   1.1.1.6  christos         OptionalByteConstExpr       /* 11: ResourceSourceIndex */
    724   1.1.1.6  christos         ',' StringData              /* 13: ResourceSourceLabel */
    725   1.1.1.6  christos         OptionalResourceType        /* 14: ResourceType */
    726   1.1.1.6  christos         OptionalNameString          /* 15: DescriptorName */
    727   1.1.1.6  christos         OptionalBuffer_Last         /* 16: VendorData */
    728   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,9,
    729   1.1.1.6  christos                                         $4,$6,$8,$10,$11,$13,$14,$15,$16);}
    730   1.1.1.6  christos     | PARSEOP_PINGROUPCONFIG
    731   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    732   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    733   1.1.1.6  christos     ;
    734   1.1.1.6  christos 
    735   1.1.1.6  christos PinGroupFunctionTerm
    736   1.1.1.6  christos     : PARSEOP_PINGROUPFUNCTION
    737   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPFUNCTION);}
    738   1.1.1.6  christos         OptionalShareType_First     /* 04: SharedType */
    739   1.1.1.6  christos         ',' WordConstExpr           /* 06: FunctionNumber */
    740   1.1.1.6  christos         ',' StringData              /* 08: ResourceSource */
    741   1.1.1.6  christos         OptionalByteConstExpr       /* 09: ResourceSourceIndex */
    742   1.1.1.6  christos         ',' StringData              /* 11: ResourceSourceLabel */
    743   1.1.1.6  christos         OptionalResourceType        /* 12: ResourceType */
    744   1.1.1.6  christos         OptionalNameString          /* 13: DescriptorName */
    745   1.1.1.6  christos         OptionalBuffer_Last         /* 14: VendorData */
    746   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,8,
    747   1.1.1.6  christos                                         $4,$6,$8,$9,$11,$12,$13,$14);}
    748   1.1.1.6  christos     | PARSEOP_PINGROUPFUNCTION
    749   1.1.1.6  christos         PARSEOP_OPEN_PAREN
    750   1.1.1.6  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    751   1.1.1.6  christos     ;
    752   1.1.1.6  christos 
    753       1.1  christos QWordIOTerm
    754   1.1.1.4  christos     : PARSEOP_QWORDIO
    755   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDIO);}
    756       1.1  christos         OptionalResourceType_First
    757       1.1  christos         OptionalMinType
    758       1.1  christos         OptionalMaxType
    759       1.1  christos         OptionalDecodeType
    760       1.1  christos         OptionalRangeType
    761       1.1  christos         ',' QWordConstExpr
    762       1.1  christos         ',' QWordConstExpr
    763       1.1  christos         ',' QWordConstExpr
    764       1.1  christos         ',' QWordConstExpr
    765       1.1  christos         ',' QWordConstExpr
    766       1.1  christos         OptionalByteConstExpr
    767       1.1  christos         OptionalStringData
    768       1.1  christos         OptionalNameString
    769       1.1  christos         OptionalType
    770       1.1  christos         OptionalTranslationType_Last
    771   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    772   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
    773   1.1.1.4  christos     | PARSEOP_QWORDIO
    774   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    775   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    776       1.1  christos     ;
    777       1.1  christos 
    778       1.1  christos QWordMemoryTerm
    779   1.1.1.4  christos     : PARSEOP_QWORDMEMORY
    780   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDMEMORY);}
    781       1.1  christos         OptionalResourceType_First
    782       1.1  christos         OptionalDecodeType
    783       1.1  christos         OptionalMinType
    784       1.1  christos         OptionalMaxType
    785       1.1  christos         OptionalMemType
    786       1.1  christos         ',' OptionalReadWriteKeyword
    787       1.1  christos         ',' QWordConstExpr
    788       1.1  christos         ',' QWordConstExpr
    789       1.1  christos         ',' QWordConstExpr
    790       1.1  christos         ',' QWordConstExpr
    791       1.1  christos         ',' QWordConstExpr
    792       1.1  christos         OptionalByteConstExpr
    793       1.1  christos         OptionalStringData
    794       1.1  christos         OptionalNameString
    795       1.1  christos         OptionalAddressRange
    796       1.1  christos         OptionalType_Last
    797   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,16,
    798   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
    799   1.1.1.4  christos     | PARSEOP_QWORDMEMORY
    800   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    801   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    802       1.1  christos     ;
    803       1.1  christos 
    804  1.1.1.13  christos QWordPccTerm
    805  1.1.1.13  christos     : PARSEOP_QWORDPCC
    806  1.1.1.13  christos         PARSEOP_OPEN_PAREN           {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDPCC);}
    807  1.1.1.13  christos         ByteConstExpr
    808  1.1.1.13  christos         OptionalByteConstExpr
    809  1.1.1.13  christos         OptionalStringData
    810  1.1.1.13  christos         OptionalNameString_Last
    811  1.1.1.13  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,4,
    812  1.1.1.13  christos                                                         $4,$5,$6,$7);}
    813  1.1.1.13  christos     | PARSEOP_QWORDPCC
    814  1.1.1.13  christos         PARSEOP_OPEN_PAREN
    815  1.1.1.13  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
    816  1.1.1.13  christos     ;
    817  1.1.1.13  christos 
    818       1.1  christos QWordSpaceTerm
    819   1.1.1.4  christos     : PARSEOP_QWORDSPACE
    820   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDSPACE);}
    821       1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
    822       1.1  christos         OptionalResourceType
    823       1.1  christos         OptionalDecodeType
    824       1.1  christos         OptionalMinType
    825       1.1  christos         OptionalMaxType
    826       1.1  christos         ',' ByteConstExpr
    827       1.1  christos         ',' QWordConstExpr
    828       1.1  christos         ',' QWordConstExpr
    829       1.1  christos         ',' QWordConstExpr
    830       1.1  christos         ',' QWordConstExpr
    831       1.1  christos         ',' QWordConstExpr
    832       1.1  christos         OptionalByteConstExpr
    833       1.1  christos         OptionalStringData
    834       1.1  christos         OptionalNameString_Last
    835   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    836   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
    837   1.1.1.4  christos     | PARSEOP_QWORDSPACE
    838   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    839   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    840       1.1  christos     ;
    841       1.1  christos 
    842       1.1  christos RegisterTerm
    843   1.1.1.4  christos     : PARSEOP_REGISTER
    844   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_REGISTER);}
    845       1.1  christos         AddressSpaceKeyword
    846       1.1  christos         ',' ByteConstExpr
    847       1.1  christos         ',' ByteConstExpr
    848       1.1  christos         ',' QWordConstExpr
    849       1.1  christos         OptionalAccessSize
    850       1.1  christos         OptionalNameString_Last
    851   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
    852   1.1.1.4  christos     | PARSEOP_REGISTER
    853   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    854   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    855       1.1  christos     ;
    856       1.1  christos 
    857       1.1  christos SpiSerialBusTerm
    858   1.1.1.4  christos     : PARSEOP_SPI_SERIALBUS
    859   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS);}
    860       1.1  christos         WordConstExpr               /* 04: DeviceSelection */
    861       1.1  christos         OptionalDevicePolarity      /* 05: DevicePolarity */
    862       1.1  christos         OptionalWireMode            /* 06: WireMode */
    863       1.1  christos         ',' ByteConstExpr           /* 08: DataBitLength */
    864       1.1  christos         OptionalSlaveMode           /* 09: SlaveMode */
    865       1.1  christos         ',' DWordConstExpr          /* 11: ConnectionSpeed */
    866       1.1  christos         ',' ClockPolarityKeyword    /* 13: ClockPolarity */
    867       1.1  christos         ',' ClockPhaseKeyword       /* 15: ClockPhase */
    868       1.1  christos         ',' StringData              /* 17: ResourceSource */
    869       1.1  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    870       1.1  christos         OptionalResourceType        /* 19: ResourceType */
    871       1.1  christos         OptionalNameString          /* 20: DescriptorName */
    872       1.1  christos         OptionalBuffer_Last         /* 21: VendorData */
    873   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    874   1.1.1.3  christos                                         $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
    875   1.1.1.6  christos                                         TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
    876   1.1.1.4  christos     | PARSEOP_SPI_SERIALBUS
    877   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    878   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    879       1.1  christos     ;
    880       1.1  christos 
    881   1.1.1.2  christos SpiSerialBusTermV2
    882   1.1.1.4  christos     : PARSEOP_SPI_SERIALBUS_V2
    883   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS_V2);}
    884   1.1.1.2  christos         WordConstExpr               /* 04: DeviceSelection */
    885   1.1.1.2  christos         OptionalDevicePolarity      /* 05: DevicePolarity */
    886   1.1.1.2  christos         OptionalWireMode            /* 06: WireMode */
    887   1.1.1.2  christos         ',' ByteConstExpr           /* 08: DataBitLength */
    888   1.1.1.2  christos         OptionalSlaveMode           /* 09: SlaveMode */
    889   1.1.1.2  christos         ',' DWordConstExpr          /* 11: ConnectionSpeed */
    890   1.1.1.2  christos         ',' ClockPolarityKeyword    /* 13: ClockPolarity */
    891   1.1.1.2  christos         ',' ClockPhaseKeyword       /* 15: ClockPhase */
    892   1.1.1.2  christos         ',' StringData              /* 17: ResourceSource */
    893   1.1.1.2  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    894   1.1.1.2  christos         OptionalResourceType        /* 19: ResourceType */
    895   1.1.1.2  christos         OptionalNameString          /* 20: DescriptorName */
    896   1.1.1.2  christos         OptionalShareType           /* 21: Share */
    897   1.1.1.2  christos         OptionalBuffer_Last         /* 22: VendorData */
    898   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
    899   1.1.1.3  christos                                         $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
    900   1.1.1.4  christos     | PARSEOP_SPI_SERIALBUS_V2
    901   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    902   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    903   1.1.1.2  christos     ;
    904   1.1.1.2  christos 
    905       1.1  christos StartDependentFnNoPriTerm
    906   1.1.1.4  christos     : PARSEOP_STARTDEPENDENTFN_NOPRI
    907   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN_NOPRI);}
    908   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    909   1.1.1.6  christos         ResourceMacroList '}'       {$$ = TrLinkOpChildren ($<n>3,1,$6);}
    910   1.1.1.4  christos     | PARSEOP_STARTDEPENDENTFN_NOPRI
    911   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    912   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    913       1.1  christos     ;
    914       1.1  christos 
    915       1.1  christos StartDependentFnTerm
    916   1.1.1.4  christos     : PARSEOP_STARTDEPENDENTFN
    917   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN);}
    918       1.1  christos         ByteConstExpr
    919       1.1  christos         ',' ByteConstExpr
    920   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    921   1.1.1.6  christos         ResourceMacroList '}'       {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$9);}
    922   1.1.1.4  christos     | PARSEOP_STARTDEPENDENTFN
    923   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    924   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    925       1.1  christos     ;
    926       1.1  christos 
    927       1.1  christos UartSerialBusTerm
    928   1.1.1.4  christos     : PARSEOP_UART_SERIALBUS
    929   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS);}
    930       1.1  christos         DWordConstExpr              /* 04: ConnectionSpeed */
    931       1.1  christos         OptionalBitsPerByte         /* 05: BitsPerByte */
    932       1.1  christos         OptionalStopBits            /* 06: StopBits */
    933       1.1  christos         ',' ByteConstExpr           /* 08: LinesInUse */
    934   1.1.1.8  christos         OptionalEndian              /* 09: Endianness */
    935       1.1  christos         OptionalParityType          /* 10: Parity */
    936       1.1  christos         OptionalFlowControl         /* 11: FlowControl */
    937       1.1  christos         ',' WordConstExpr           /* 13: Rx BufferSize */
    938       1.1  christos         ',' WordConstExpr           /* 15: Tx BufferSize */
    939       1.1  christos         ',' StringData              /* 17: ResourceSource */
    940       1.1  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    941       1.1  christos         OptionalResourceType        /* 19: ResourceType */
    942       1.1  christos         OptionalNameString          /* 20: DescriptorName */
    943       1.1  christos         OptionalBuffer_Last         /* 21: VendorData */
    944   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    945   1.1.1.3  christos                                         $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
    946   1.1.1.6  christos                                         TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
    947   1.1.1.4  christos     | PARSEOP_UART_SERIALBUS
    948   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    949   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    950       1.1  christos     ;
    951       1.1  christos 
    952   1.1.1.2  christos UartSerialBusTermV2
    953   1.1.1.4  christos     : PARSEOP_UART_SERIALBUS_V2
    954   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS_V2);}
    955   1.1.1.2  christos         DWordConstExpr              /* 04: ConnectionSpeed */
    956   1.1.1.2  christos         OptionalBitsPerByte         /* 05: BitsPerByte */
    957   1.1.1.2  christos         OptionalStopBits            /* 06: StopBits */
    958   1.1.1.2  christos         ',' ByteConstExpr           /* 08: LinesInUse */
    959   1.1.1.8  christos         OptionalEndian              /* 09: Endianness */
    960   1.1.1.2  christos         OptionalParityType          /* 10: Parity */
    961   1.1.1.2  christos         OptionalFlowControl         /* 11: FlowControl */
    962   1.1.1.2  christos         ',' WordConstExpr           /* 13: Rx BufferSize */
    963   1.1.1.2  christos         ',' WordConstExpr           /* 15: Tx BufferSize */
    964   1.1.1.2  christos         ',' StringData              /* 17: ResourceSource */
    965   1.1.1.2  christos         OptionalByteConstExpr       /* 18: ResourceSourceIndex */
    966   1.1.1.2  christos         OptionalResourceType        /* 19: ResourceType */
    967   1.1.1.2  christos         OptionalNameString          /* 20: DescriptorName */
    968   1.1.1.2  christos         OptionalShareType           /* 21: Share */
    969   1.1.1.2  christos         OptionalBuffer_Last         /* 22: VendorData */
    970   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
    971   1.1.1.3  christos                                         $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
    972   1.1.1.4  christos     | PARSEOP_UART_SERIALBUS_V2
    973   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    974   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    975   1.1.1.2  christos     ;
    976   1.1.1.2  christos 
    977       1.1  christos VendorLongTerm
    978   1.1.1.4  christos     : PARSEOP_VENDORLONG
    979   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORLONG);}
    980       1.1  christos         OptionalNameString_First
    981   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    982   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
    983   1.1.1.4  christos     | PARSEOP_VENDORLONG
    984   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    985   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    986       1.1  christos     ;
    987       1.1  christos 
    988       1.1  christos VendorShortTerm
    989   1.1.1.4  christos     : PARSEOP_VENDORSHORT
    990   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORSHORT);}
    991       1.1  christos         OptionalNameString_First
    992   1.1.1.4  christos         PARSEOP_CLOSE_PAREN '{'
    993   1.1.1.6  christos             ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
    994   1.1.1.4  christos     | PARSEOP_VENDORSHORT
    995   1.1.1.4  christos         PARSEOP_OPEN_PAREN
    996   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
    997       1.1  christos     ;
    998       1.1  christos 
    999       1.1  christos WordBusNumberTerm
   1000   1.1.1.4  christos     : PARSEOP_WORDBUSNUMBER
   1001   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WORDBUSNUMBER);}
   1002       1.1  christos         OptionalResourceType_First
   1003       1.1  christos         OptionalMinType
   1004       1.1  christos         OptionalMaxType
   1005       1.1  christos         OptionalDecodeType
   1006       1.1  christos         ',' WordConstExpr
   1007       1.1  christos         ',' WordConstExpr
   1008       1.1  christos         ',' WordConstExpr
   1009       1.1  christos         ',' WordConstExpr
   1010       1.1  christos         ',' WordConstExpr
   1011       1.1  christos         OptionalByteConstExpr
   1012       1.1  christos         OptionalStringData
   1013       1.1  christos         OptionalNameString_Last
   1014   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,12,
   1015   1.1.1.3  christos                                         $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
   1016   1.1.1.4  christos     | PARSEOP_WORDBUSNUMBER
   1017   1.1.1.4  christos         PARSEOP_OPEN_PAREN
   1018   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
   1019       1.1  christos     ;
   1020       1.1  christos 
   1021       1.1  christos WordIOTerm
   1022   1.1.1.4  christos     : PARSEOP_WORDIO
   1023   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WORDIO);}
   1024       1.1  christos         OptionalResourceType_First
   1025       1.1  christos         OptionalMinType
   1026       1.1  christos         OptionalMaxType
   1027       1.1  christos         OptionalDecodeType
   1028       1.1  christos         OptionalRangeType
   1029       1.1  christos         ',' WordConstExpr
   1030       1.1  christos         ',' WordConstExpr
   1031       1.1  christos         ',' WordConstExpr
   1032       1.1  christos         ',' WordConstExpr
   1033       1.1  christos         ',' WordConstExpr
   1034       1.1  christos         OptionalByteConstExpr
   1035       1.1  christos         OptionalStringData
   1036       1.1  christos         OptionalNameString
   1037       1.1  christos         OptionalType
   1038       1.1  christos         OptionalTranslationType_Last
   1039   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
   1040   1.1.1.3  christos                                         $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
   1041   1.1.1.4  christos     | PARSEOP_WORDIO
   1042   1.1.1.4  christos         PARSEOP_OPEN_PAREN
   1043   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
   1044       1.1  christos     ;
   1045       1.1  christos 
   1046  1.1.1.13  christos WordPccTerm
   1047  1.1.1.13  christos     : PARSEOP_WORDPCC
   1048  1.1.1.13  christos         PARSEOP_OPEN_PAREN           {$<n>$ = TrCreateLeafOp (PARSEOP_WORDPCC);}
   1049  1.1.1.13  christos         ByteConstExpr
   1050  1.1.1.13  christos         OptionalByteConstExpr
   1051  1.1.1.13  christos         OptionalStringData
   1052  1.1.1.13  christos         OptionalNameString_Last
   1053  1.1.1.13  christos         PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,4,
   1054  1.1.1.13  christos                                                         $4,$5,$6,$7);}
   1055  1.1.1.13  christos     | PARSEOP_WORDPCC
   1056  1.1.1.13  christos         PARSEOP_OPEN_PAREN
   1057  1.1.1.13  christos         error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
   1058  1.1.1.13  christos     ;
   1059  1.1.1.13  christos 
   1060       1.1  christos WordSpaceTerm
   1061   1.1.1.4  christos     : PARSEOP_WORDSPACE
   1062   1.1.1.6  christos         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WORDSPACE);}
   1063       1.1  christos         ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
   1064       1.1  christos         OptionalResourceType
   1065       1.1  christos         OptionalDecodeType
   1066       1.1  christos         OptionalMinType
   1067       1.1  christos         OptionalMaxType
   1068       1.1  christos         ',' ByteConstExpr
   1069       1.1  christos         ',' WordConstExpr
   1070       1.1  christos         ',' WordConstExpr
   1071       1.1  christos         ',' WordConstExpr
   1072       1.1  christos         ',' WordConstExpr
   1073       1.1  christos         ',' WordConstExpr
   1074       1.1  christos         OptionalByteConstExpr
   1075       1.1  christos         OptionalStringData
   1076       1.1  christos         OptionalNameString_Last
   1077   1.1.1.6  christos         PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
   1078   1.1.1.3  christos                                         $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
   1079   1.1.1.4  christos     | PARSEOP_WORDSPACE
   1080   1.1.1.4  christos         PARSEOP_OPEN_PAREN
   1081   1.1.1.4  christos         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
   1082       1.1  christos     ;
   1083