Blame source/compiler/aslresources.y

Packit Service 1fb00e
NoEcho('
Packit Service 1fb00e
/******************************************************************************
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * Module Name: aslresources.y - Bison/Yacc production rules for resources
Packit Service 1fb00e
 *                             - Keep this file synched with the
Packit Service 1fb00e
 *                               CvParseOpBlockType function in cvcompiler.c
Packit Service 1fb00e
 *
Packit Service 1fb00e
 *****************************************************************************/
Packit Service 1fb00e
Packit Service 1fb00e
/*
Packit Service 1fb00e
 * Copyright (C) 2000 - 2018, Intel Corp.
Packit Service 1fb00e
 * All rights reserved.
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * Redistribution and use in source and binary forms, with or without
Packit Service 1fb00e
 * modification, are permitted provided that the following conditions
Packit Service 1fb00e
 * are met:
Packit Service 1fb00e
 * 1. Redistributions of source code must retain the above copyright
Packit Service 1fb00e
 *    notice, this list of conditions, and the following disclaimer,
Packit Service 1fb00e
 *    without modification.
Packit Service 1fb00e
 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
Packit Service 1fb00e
 *    substantially similar to the "NO WARRANTY" disclaimer below
Packit Service 1fb00e
 *    ("Disclaimer") and any redistribution must be conditioned upon
Packit Service 1fb00e
 *    including a substantially similar Disclaimer requirement for further
Packit Service 1fb00e
 *    binary redistribution.
Packit Service 1fb00e
 * 3. Neither the names of the above-listed copyright holders nor the names
Packit Service 1fb00e
 *    of any contributors may be used to endorse or promote products derived
Packit Service 1fb00e
 *    from this software without specific prior written permission.
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * Alternatively, this software may be distributed under the terms of the
Packit Service 1fb00e
 * GNU General Public License ("GPL") version 2 as published by the Free
Packit Service 1fb00e
 * Software Foundation.
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * NO WARRANTY
Packit Service 1fb00e
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
Packit Service 1fb00e
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
Packit Service 1fb00e
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
Packit Service 1fb00e
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
Packit Service 1fb00e
 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Packit Service 1fb00e
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
Packit Service 1fb00e
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
Packit Service 1fb00e
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
Packit Service 1fb00e
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
Packit Service 1fb00e
 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
Packit Service 1fb00e
 * POSSIBILITY OF SUCH DAMAGES.
Packit Service 1fb00e
 */
Packit Service 1fb00e
Packit Service 1fb00e
')
Packit Service 1fb00e
Packit Service 1fb00e
Packit Service 1fb00e
/*******************************************************************************
Packit Service 1fb00e
 *
Packit Service 1fb00e
 * ASL Resource Template Terms
Packit Service 1fb00e
 *
Packit Service 1fb00e
 ******************************************************************************/
Packit Service 1fb00e
Packit Service 1fb00e
/*
Packit Service 1fb00e
 * Note: Create two default nodes to allow conversion to a Buffer AML opcode
Packit Service 1fb00e
 * Also, insert the EndTag at the end of the template.
Packit Service 1fb00e
 */
Packit Service 1fb00e
ResourceTemplateTerm
Packit Service 1fb00e
    : PARSEOP_RESOURCETEMPLATE      {COMMENT_CAPTURE_OFF;}
Packit Service 1fb00e
        OptionalParentheses
Packit Service 1fb00e
        '{'
Packit Service 1fb00e
        ResourceMacroList '}'       {$$ = TrCreateOp (PARSEOP_RESOURCETEMPLATE,4,
Packit Service 1fb00e
                                          TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
Packit Service 1fb00e
                                          TrCreateLeafOp (PARSEOP_DEFAULT_ARG),
Packit Service 1fb00e
                                          $5,
Packit Service 1fb00e
                                          TrCreateLeafOp (PARSEOP_ENDTAG));
Packit Service 1fb00e
                                     COMMENT_CAPTURE_ON;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
OptionalParentheses
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = NULL;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
ResourceMacroList
Packit Service 1fb00e
    :                               {$$ = NULL;}
Packit Service 1fb00e
    | ResourceMacroList
Packit Service 1fb00e
        ResourceMacroTerm           {$$ = TrLinkPeerOp ($1,$2);}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
ResourceMacroTerm
Packit Service 1fb00e
    : DMATerm                       {}
Packit Service 1fb00e
    | DWordIOTerm                   {}
Packit Service 1fb00e
    | DWordMemoryTerm               {}
Packit Service 1fb00e
    | DWordSpaceTerm                {}
Packit Service 1fb00e
    | EndDependentFnTerm            {}
Packit Service 1fb00e
    | ExtendedIOTerm                {}
Packit Service 1fb00e
    | ExtendedMemoryTerm            {}
Packit Service 1fb00e
    | ExtendedSpaceTerm             {}
Packit Service 1fb00e
    | FixedDmaTerm                  {}
Packit Service 1fb00e
    | FixedIOTerm                   {}
Packit Service 1fb00e
    | GpioIntTerm                   {}
Packit Service 1fb00e
    | GpioIoTerm                    {}
Packit Service 1fb00e
    | I2cSerialBusTerm              {}
Packit Service 1fb00e
    | I2cSerialBusTermV2            {}
Packit Service 1fb00e
    | InterruptTerm                 {}
Packit Service 1fb00e
    | IOTerm                        {}
Packit Service 1fb00e
    | IRQNoFlagsTerm                {}
Packit Service 1fb00e
    | IRQTerm                       {}
Packit Service 1fb00e
    | Memory24Term                  {}
Packit Service 1fb00e
    | Memory32FixedTerm             {}
Packit Service 1fb00e
    | Memory32Term                  {}
Packit Service 1fb00e
    | PinConfigTerm                 {}
Packit Service 1fb00e
    | PinFunctionTerm               {}
Packit Service 1fb00e
    | PinGroupTerm                  {}
Packit Service 1fb00e
    | PinGroupConfigTerm            {}
Packit Service 1fb00e
    | PinGroupFunctionTerm          {}
Packit Service 1fb00e
    | QWordIOTerm                   {}
Packit Service 1fb00e
    | QWordMemoryTerm               {}
Packit Service 1fb00e
    | QWordSpaceTerm                {}
Packit Service 1fb00e
    | RegisterTerm                  {}
Packit Service 1fb00e
    | SpiSerialBusTerm              {}
Packit Service 1fb00e
    | SpiSerialBusTermV2            {}
Packit Service 1fb00e
    | StartDependentFnNoPriTerm     {}
Packit Service 1fb00e
    | StartDependentFnTerm          {}
Packit Service 1fb00e
    | UartSerialBusTerm             {}
Packit Service 1fb00e
    | UartSerialBusTermV2           {}
Packit Service 1fb00e
    | VendorLongTerm                {}
Packit Service 1fb00e
    | VendorShortTerm               {}
Packit Service 1fb00e
    | WordBusNumberTerm             {}
Packit Service 1fb00e
    | WordIOTerm                    {}
Packit Service 1fb00e
    | WordSpaceTerm                 {}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
DMATerm
Packit Service 1fb00e
    : PARSEOP_DMA
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DMA);}
Packit Service 1fb00e
        DMATypeKeyword
Packit Service 1fb00e
        OptionalBusMasterKeyword
Packit Service 1fb00e
        ',' XferTypeKeyword
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$7,$8,$11);}
Packit Service 1fb00e
    | PARSEOP_DMA
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
DWordIOTerm
Packit Service 1fb00e
    : PARSEOP_DWORDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDIO);}
Packit Service 1fb00e
        OptionalResourceType_First
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalRangeType
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString
Packit Service 1fb00e
        OptionalType
Packit Service 1fb00e
        OptionalTranslationType_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
Packit Service 1fb00e
                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
Packit Service 1fb00e
    | PARSEOP_DWORDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
DWordMemoryTerm
Packit Service 1fb00e
    : PARSEOP_DWORDMEMORY
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDMEMORY);}
Packit Service 1fb00e
        OptionalResourceType_First
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        OptionalMemType
Packit Service 1fb00e
        ',' OptionalReadWriteKeyword
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString
Packit Service 1fb00e
        OptionalAddressRange
Packit Service 1fb00e
        OptionalType_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,16,
Packit Service 1fb00e
                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
Packit Service 1fb00e
    | PARSEOP_DWORDMEMORY
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
DWordSpaceTerm
Packit Service 1fb00e
    : PARSEOP_DWORDSPACE
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_DWORDSPACE);}
Packit Service 1fb00e
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
Packit Service 1fb00e
        OptionalResourceType
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
Packit Service 1fb00e
                                        $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
Packit Service 1fb00e
    | PARSEOP_DWORDSPACE
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
EndDependentFnTerm
Packit Service 1fb00e
    : PARSEOP_ENDDEPENDENTFN
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrCreateLeafOp (PARSEOP_ENDDEPENDENTFN);}
Packit Service 1fb00e
    | PARSEOP_ENDDEPENDENTFN
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
ExtendedIOTerm
Packit Service 1fb00e
    : PARSEOP_EXTENDEDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDIO);}
Packit Service 1fb00e
        OptionalResourceType_First
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalRangeType
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        OptionalQWordConstExpr
Packit Service 1fb00e
        OptionalNameString
Packit Service 1fb00e
        OptionalType
Packit Service 1fb00e
        OptionalTranslationType_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
Packit Service 1fb00e
                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
Packit Service 1fb00e
    | PARSEOP_EXTENDEDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
ExtendedMemoryTerm
Packit Service 1fb00e
    : PARSEOP_EXTENDEDMEMORY
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDMEMORY);}
Packit Service 1fb00e
        OptionalResourceType_First
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        OptionalMemType
Packit Service 1fb00e
        ',' OptionalReadWriteKeyword
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        OptionalQWordConstExpr
Packit Service 1fb00e
        OptionalNameString
Packit Service 1fb00e
        OptionalAddressRange
Packit Service 1fb00e
        OptionalType_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
Packit Service 1fb00e
                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
Packit Service 1fb00e
    | PARSEOP_EXTENDEDMEMORY
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
ExtendedSpaceTerm
Packit Service 1fb00e
    : PARSEOP_EXTENDEDSPACE PARSEOP_OPEN_PAREN     {$<n>$ = TrCreateLeafOp (PARSEOP_EXTENDEDSPACE);}
Packit Service 1fb00e
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
Packit Service 1fb00e
        OptionalResourceType
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        OptionalQWordConstExpr
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,13,
Packit Service 1fb00e
                                        $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
Packit Service 1fb00e
    | PARSEOP_EXTENDEDSPACE
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
FixedDmaTerm
Packit Service 1fb00e
    : PARSEOP_FIXEDDMA
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDDMA);}
Packit Service 1fb00e
        WordConstExpr               /* 04: DMA RequestLines */
Packit Service 1fb00e
        ',' WordConstExpr           /* 06: DMA Channels */
Packit Service 1fb00e
        OptionalXferSize            /* 07: DMA TransferSize */
Packit Service 1fb00e
        OptionalNameString          /* 08: DescriptorName */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$7,$8);}
Packit Service 1fb00e
    | PARSEOP_FIXEDDMA
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
FixedIOTerm
Packit Service 1fb00e
    : PARSEOP_FIXEDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN           {$<n>$ = TrCreateLeafOp (PARSEOP_FIXEDIO);}
Packit Service 1fb00e
        WordConstExpr
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN                         {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$7);}
Packit Service 1fb00e
    | PARSEOP_FIXEDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
GpioIntTerm
Packit Service 1fb00e
    : PARSEOP_GPIO_INT
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_INT);}
Packit Service 1fb00e
        InterruptTypeKeyword        /* 04: InterruptType */
Packit Service 1fb00e
        ',' InterruptLevel          /* 06: InterruptLevel */
Packit Service 1fb00e
        OptionalShareType           /* 07: SharedType */
Packit Service 1fb00e
        ',' PinConfigByte           /* 09: PinConfig */
Packit Service 1fb00e
        OptionalWordConstExpr       /* 10: DebounceTimeout */
Packit Service 1fb00e
        ',' StringData              /* 12: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 13: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 14: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 15: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 16: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            DWordConstExpr '}'      {$$ = TrLinkOpChildren ($<n>3,11,
Packit Service 1fb00e
                                        $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
Packit Service 1fb00e
    | PARSEOP_GPIO_INT
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
GpioIoTerm
Packit Service 1fb00e
    : PARSEOP_GPIO_IO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_GPIO_IO);}
Packit Service 1fb00e
        OptionalShareType_First     /* 04: SharedType */
Packit Service 1fb00e
        ',' PinConfigByte           /* 06: PinConfig */
Packit Service 1fb00e
        OptionalWordConstExpr       /* 07: DebounceTimeout */
Packit Service 1fb00e
        OptionalWordConstExpr       /* 08: DriveStrength */
Packit Service 1fb00e
        OptionalIoRestriction       /* 09: IoRestriction */
Packit Service 1fb00e
        ',' StringData              /* 11: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 12: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 13: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 14: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 15: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,11,
Packit Service 1fb00e
                                        $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
Packit Service 1fb00e
    | PARSEOP_GPIO_IO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN                   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
I2cSerialBusTerm
Packit Service 1fb00e
    : PARSEOP_I2C_SERIALBUS
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS);}
Packit Service 1fb00e
        WordConstExpr               /* 04: SlaveAddress */
Packit Service 1fb00e
        OptionalSlaveMode           /* 05: SlaveMode */
Packit Service 1fb00e
        ',' DWordConstExpr          /* 07: ConnectionSpeed */
Packit Service 1fb00e
        OptionalAddressingMode      /* 08: AddressingMode */
Packit Service 1fb00e
        ',' StringData              /* 10: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 11: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 12: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 13: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 14: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,10,
Packit Service 1fb00e
                                        $4,$5,$7,$8,$10,$11,$12,$13,
Packit Service 1fb00e
                                        TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$14);}
Packit Service 1fb00e
    | PARSEOP_I2C_SERIALBUS
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
I2cSerialBusTermV2
Packit Service 1fb00e
    : PARSEOP_I2C_SERIALBUS_V2
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_I2C_SERIALBUS_V2);}
Packit Service 1fb00e
        WordConstExpr               /* 04: SlaveAddress */
Packit Service 1fb00e
        OptionalSlaveMode           /* 05: SlaveMode */
Packit Service 1fb00e
        ',' DWordConstExpr          /* 07: ConnectionSpeed */
Packit Service 1fb00e
        OptionalAddressingMode      /* 08: AddressingMode */
Packit Service 1fb00e
        ',' StringData              /* 10: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 11: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 12: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 13: DescriptorName */
Packit Service 1fb00e
        OptionalShareType           /* 14: Share */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 15: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,10,
Packit Service 1fb00e
                                        $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
Packit Service 1fb00e
    | PARSEOP_I2C_SERIALBUS_V2
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
InterruptTerm
Packit Service 1fb00e
    : PARSEOP_INTERRUPT
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_INTERRUPT);}
Packit Service 1fb00e
        OptionalResourceType_First
Packit Service 1fb00e
        ',' InterruptTypeKeyword
Packit Service 1fb00e
        ',' InterruptLevel
Packit Service 1fb00e
        OptionalShareType
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,8,
Packit Service 1fb00e
                                        $4,$6,$8,$9,$10,$11,$12,$15);}
Packit Service 1fb00e
    | PARSEOP_INTERRUPT
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
IOTerm
Packit Service 1fb00e
    : PARSEOP_IO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IO);}
Packit Service 1fb00e
        IODecodeKeyword
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
Packit Service 1fb00e
    | PARSEOP_IO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
IRQNoFlagsTerm
Packit Service 1fb00e
    : PARSEOP_IRQNOFLAGS
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IRQNOFLAGS);}
Packit Service 1fb00e
        OptionalNameString_First
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
Packit Service 1fb00e
    | PARSEOP_IRQNOFLAGS
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
IRQTerm
Packit Service 1fb00e
    : PARSEOP_IRQ
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_IRQ);}
Packit Service 1fb00e
        InterruptTypeKeyword
Packit Service 1fb00e
        ',' InterruptLevel
Packit Service 1fb00e
        OptionalShareType
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,5,$4,$6,$7,$8,$11);}
Packit Service 1fb00e
    | PARSEOP_IRQ
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
Memory24Term
Packit Service 1fb00e
    : PARSEOP_MEMORY24
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY24);}
Packit Service 1fb00e
        OptionalReadWriteKeyword
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
Packit Service 1fb00e
    | PARSEOP_MEMORY24
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
Memory32FixedTerm
Packit Service 1fb00e
    : PARSEOP_MEMORY32FIXED
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32FIXED);}
Packit Service 1fb00e
        OptionalReadWriteKeyword
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,4,$4,$6,$8,$9);}
Packit Service 1fb00e
    | PARSEOP_MEMORY32FIXED
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
Memory32Term
Packit Service 1fb00e
    : PARSEOP_MEMORY32
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_MEMORY32);}
Packit Service 1fb00e
        OptionalReadWriteKeyword
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        ',' DWordConstExpr
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
Packit Service 1fb00e
    | PARSEOP_MEMORY32
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
PinConfigTerm
Packit Service 1fb00e
    : PARSEOP_PINCONFIG
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINCONFIG);}
Packit Service 1fb00e
        OptionalShareType_First     /* 04: SharedType */
Packit Service 1fb00e
        ',' ByteConstExpr           /* 06: PinConfigType */
Packit Service 1fb00e
        ',' DWordConstExpr          /* 08: PinConfigValue */
Packit Service 1fb00e
        ',' StringData              /* 10: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 11: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 12: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 13: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 14: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,9,
Packit Service 1fb00e
                                        $4,$6,$8,$10,$11,$12,$13,$14,$17);}
Packit Service 1fb00e
    | PARSEOP_PINCONFIG
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
PinFunctionTerm
Packit Service 1fb00e
    : PARSEOP_PINFUNCTION
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINFUNCTION);}
Packit Service 1fb00e
        OptionalShareType_First     /* 04: SharedType */
Packit Service 1fb00e
        ',' PinConfigByte           /* 06: PinConfig */
Packit Service 1fb00e
        ',' WordConstExpr           /* 08: FunctionNumber */
Packit Service 1fb00e
        ',' StringData              /* 10: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 11: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 12: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 13: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 14: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,9,
Packit Service 1fb00e
                                        $4,$6,$8,$10,$11,$12,$13,$14,$17);}
Packit Service 1fb00e
    | PARSEOP_PINFUNCTION
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
PinGroupTerm
Packit Service 1fb00e
    : PARSEOP_PINGROUP
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);}
Packit Service 1fb00e
        StringData                  /* 04: ResourceLabel */
Packit Service 1fb00e
        OptionalProducerResourceType /* 05: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 06: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 07: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            DWordList '}'           {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
Packit Service 1fb00e
    | PARSEOP_PINGROUP
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
PinGroupConfigTerm
Packit Service 1fb00e
    : PARSEOP_PINGROUPCONFIG
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPCONFIG);}
Packit Service 1fb00e
        OptionalShareType_First     /* 04: SharedType */
Packit Service 1fb00e
        ',' ByteConstExpr           /* 06: PinConfigType */
Packit Service 1fb00e
        ',' DWordConstExpr          /* 08: PinConfigValue */
Packit Service 1fb00e
        ',' StringData              /* 10: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 11: ResourceSourceIndex */
Packit Service 1fb00e
        ',' StringData              /* 13: ResourceSourceLabel */
Packit Service 1fb00e
        OptionalResourceType        /* 14: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 15: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 16: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,9,
Packit Service 1fb00e
                                        $4,$6,$8,$10,$11,$13,$14,$15,$16);}
Packit Service 1fb00e
    | PARSEOP_PINGROUPCONFIG
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
PinGroupFunctionTerm
Packit Service 1fb00e
    : PARSEOP_PINGROUPFUNCTION
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUPFUNCTION);}
Packit Service 1fb00e
        OptionalShareType_First     /* 04: SharedType */
Packit Service 1fb00e
        ',' WordConstExpr           /* 06: FunctionNumber */
Packit Service 1fb00e
        ',' StringData              /* 08: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 09: ResourceSourceIndex */
Packit Service 1fb00e
        ',' StringData              /* 11: ResourceSourceLabel */
Packit Service 1fb00e
        OptionalResourceType        /* 12: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 13: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 14: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,8,
Packit Service 1fb00e
                                        $4,$6,$8,$9,$11,$12,$13,$14);}
Packit Service 1fb00e
    | PARSEOP_PINGROUPFUNCTION
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
QWordIOTerm
Packit Service 1fb00e
    : PARSEOP_QWORDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDIO);}
Packit Service 1fb00e
        OptionalResourceType_First
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalRangeType
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString
Packit Service 1fb00e
        OptionalType
Packit Service 1fb00e
        OptionalTranslationType_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
Packit Service 1fb00e
                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
Packit Service 1fb00e
    | PARSEOP_QWORDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
QWordMemoryTerm
Packit Service 1fb00e
    : PARSEOP_QWORDMEMORY
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDMEMORY);}
Packit Service 1fb00e
        OptionalResourceType_First
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        OptionalMemType
Packit Service 1fb00e
        ',' OptionalReadWriteKeyword
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString
Packit Service 1fb00e
        OptionalAddressRange
Packit Service 1fb00e
        OptionalType_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,16,
Packit Service 1fb00e
                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
Packit Service 1fb00e
    | PARSEOP_QWORDMEMORY
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
QWordSpaceTerm
Packit Service 1fb00e
    : PARSEOP_QWORDSPACE
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_QWORDSPACE);}
Packit Service 1fb00e
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
Packit Service 1fb00e
        OptionalResourceType
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
Packit Service 1fb00e
                                        $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
Packit Service 1fb00e
    | PARSEOP_QWORDSPACE
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
RegisterTerm
Packit Service 1fb00e
    : PARSEOP_REGISTER
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_REGISTER);}
Packit Service 1fb00e
        AddressSpaceKeyword
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        ',' QWordConstExpr
Packit Service 1fb00e
        OptionalAccessSize
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
Packit Service 1fb00e
    | PARSEOP_REGISTER
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
SpiSerialBusTerm
Packit Service 1fb00e
    : PARSEOP_SPI_SERIALBUS
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS);}
Packit Service 1fb00e
        WordConstExpr               /* 04: DeviceSelection */
Packit Service 1fb00e
        OptionalDevicePolarity      /* 05: DevicePolarity */
Packit Service 1fb00e
        OptionalWireMode            /* 06: WireMode */
Packit Service 1fb00e
        ',' ByteConstExpr           /* 08: DataBitLength */
Packit Service 1fb00e
        OptionalSlaveMode           /* 09: SlaveMode */
Packit Service 1fb00e
        ',' DWordConstExpr          /* 11: ConnectionSpeed */
Packit Service 1fb00e
        ',' ClockPolarityKeyword    /* 13: ClockPolarity */
Packit Service 1fb00e
        ',' ClockPhaseKeyword       /* 15: ClockPhase */
Packit Service 1fb00e
        ',' StringData              /* 17: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 18: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 19: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 20: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 21: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
Packit Service 1fb00e
                                        $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
Packit Service 1fb00e
                                        TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
Packit Service 1fb00e
    | PARSEOP_SPI_SERIALBUS
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
SpiSerialBusTermV2
Packit Service 1fb00e
    : PARSEOP_SPI_SERIALBUS_V2
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_SPI_SERIALBUS_V2);}
Packit Service 1fb00e
        WordConstExpr               /* 04: DeviceSelection */
Packit Service 1fb00e
        OptionalDevicePolarity      /* 05: DevicePolarity */
Packit Service 1fb00e
        OptionalWireMode            /* 06: WireMode */
Packit Service 1fb00e
        ',' ByteConstExpr           /* 08: DataBitLength */
Packit Service 1fb00e
        OptionalSlaveMode           /* 09: SlaveMode */
Packit Service 1fb00e
        ',' DWordConstExpr          /* 11: ConnectionSpeed */
Packit Service 1fb00e
        ',' ClockPolarityKeyword    /* 13: ClockPolarity */
Packit Service 1fb00e
        ',' ClockPhaseKeyword       /* 15: ClockPhase */
Packit Service 1fb00e
        ',' StringData              /* 17: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 18: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 19: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 20: DescriptorName */
Packit Service 1fb00e
        OptionalShareType           /* 21: Share */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 22: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
Packit Service 1fb00e
                                        $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
Packit Service 1fb00e
    | PARSEOP_SPI_SERIALBUS_V2
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
StartDependentFnNoPriTerm
Packit Service 1fb00e
    : PARSEOP_STARTDEPENDENTFN_NOPRI
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN_NOPRI);}
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
        ResourceMacroList '}'       {$$ = TrLinkOpChildren ($<n>3,1,$6);}
Packit Service 1fb00e
    | PARSEOP_STARTDEPENDENTFN_NOPRI
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
StartDependentFnTerm
Packit Service 1fb00e
    : PARSEOP_STARTDEPENDENTFN
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_STARTDEPENDENTFN);}
Packit Service 1fb00e
        ByteConstExpr
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
        ResourceMacroList '}'       {$$ = TrLinkOpChildren ($<n>3,3,$4,$6,$9);}
Packit Service 1fb00e
    | PARSEOP_STARTDEPENDENTFN
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
UartSerialBusTerm
Packit Service 1fb00e
    : PARSEOP_UART_SERIALBUS
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS);}
Packit Service 1fb00e
        DWordConstExpr              /* 04: ConnectionSpeed */
Packit Service 1fb00e
        OptionalBitsPerByte         /* 05: BitsPerByte */
Packit Service 1fb00e
        OptionalStopBits            /* 06: StopBits */
Packit Service 1fb00e
        ',' ByteConstExpr           /* 08: LinesInUse */
Packit Service 1fb00e
        OptionalEndian              /* 09: Endianess */
Packit Service 1fb00e
        OptionalParityType          /* 10: Parity */
Packit Service 1fb00e
        OptionalFlowControl         /* 11: FlowControl */
Packit Service 1fb00e
        ',' WordConstExpr           /* 13: Rx BufferSize */
Packit Service 1fb00e
        ',' WordConstExpr           /* 15: Tx BufferSize */
Packit Service 1fb00e
        ',' StringData              /* 17: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 18: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 19: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 20: DescriptorName */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 21: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
Packit Service 1fb00e
                                        $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
Packit Service 1fb00e
                                        TrCreateLeafOp (PARSEOP_DEFAULT_ARG),$21);}
Packit Service 1fb00e
    | PARSEOP_UART_SERIALBUS
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
UartSerialBusTermV2
Packit Service 1fb00e
    : PARSEOP_UART_SERIALBUS_V2
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_UART_SERIALBUS_V2);}
Packit Service 1fb00e
        DWordConstExpr              /* 04: ConnectionSpeed */
Packit Service 1fb00e
        OptionalBitsPerByte         /* 05: BitsPerByte */
Packit Service 1fb00e
        OptionalStopBits            /* 06: StopBits */
Packit Service 1fb00e
        ',' ByteConstExpr           /* 08: LinesInUse */
Packit Service 1fb00e
        OptionalEndian              /* 09: Endianess */
Packit Service 1fb00e
        OptionalParityType          /* 10: Parity */
Packit Service 1fb00e
        OptionalFlowControl         /* 11: FlowControl */
Packit Service 1fb00e
        ',' WordConstExpr           /* 13: Rx BufferSize */
Packit Service 1fb00e
        ',' WordConstExpr           /* 15: Tx BufferSize */
Packit Service 1fb00e
        ',' StringData              /* 17: ResourceSource */
Packit Service 1fb00e
        OptionalByteConstExpr       /* 18: ResourceSourceIndex */
Packit Service 1fb00e
        OptionalResourceType        /* 19: ResourceType */
Packit Service 1fb00e
        OptionalNameString          /* 20: DescriptorName */
Packit Service 1fb00e
        OptionalShareType           /* 21: Share */
Packit Service 1fb00e
        OptionalBuffer_Last         /* 22: VendorData */
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
Packit Service 1fb00e
                                        $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
Packit Service 1fb00e
    | PARSEOP_UART_SERIALBUS_V2
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
VendorLongTerm
Packit Service 1fb00e
    : PARSEOP_VENDORLONG
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORLONG);}
Packit Service 1fb00e
        OptionalNameString_First
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
Packit Service 1fb00e
    | PARSEOP_VENDORLONG
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
VendorShortTerm
Packit Service 1fb00e
    : PARSEOP_VENDORSHORT
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_VENDORSHORT);}
Packit Service 1fb00e
        OptionalNameString_First
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN '{'
Packit Service 1fb00e
            ByteList '}'            {$$ = TrLinkOpChildren ($<n>3,2,$4,$7);}
Packit Service 1fb00e
    | PARSEOP_VENDORSHORT
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
WordBusNumberTerm
Packit Service 1fb00e
    : PARSEOP_WORDBUSNUMBER
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WORDBUSNUMBER);}
Packit Service 1fb00e
        OptionalResourceType_First
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,12,
Packit Service 1fb00e
                                        $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
Packit Service 1fb00e
    | PARSEOP_WORDBUSNUMBER
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
WordIOTerm
Packit Service 1fb00e
    : PARSEOP_WORDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WORDIO);}
Packit Service 1fb00e
        OptionalResourceType_First
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalRangeType
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString
Packit Service 1fb00e
        OptionalType
Packit Service 1fb00e
        OptionalTranslationType_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,15,
Packit Service 1fb00e
                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
Packit Service 1fb00e
    | PARSEOP_WORDIO
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;
Packit Service 1fb00e
Packit Service 1fb00e
WordSpaceTerm
Packit Service 1fb00e
    : PARSEOP_WORDSPACE
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_WORDSPACE);}
Packit Service 1fb00e
        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
Packit Service 1fb00e
        OptionalResourceType
Packit Service 1fb00e
        OptionalDecodeType
Packit Service 1fb00e
        OptionalMinType
Packit Service 1fb00e
        OptionalMaxType
Packit Service 1fb00e
        ',' ByteConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        ',' WordConstExpr
Packit Service 1fb00e
        OptionalByteConstExpr
Packit Service 1fb00e
        OptionalStringData
Packit Service 1fb00e
        OptionalNameString_Last
Packit Service 1fb00e
        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,14,
Packit Service 1fb00e
                                        $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
Packit Service 1fb00e
    | PARSEOP_WORDSPACE
Packit Service 1fb00e
        PARSEOP_OPEN_PAREN
Packit Service 1fb00e
        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
Packit Service 1fb00e
    ;