ACK: [PATCH 3/3] acpica: remove aslcompiler.y as it is generated from aslparser.y

Alex Hung alex.hung at canonical.com
Mon Oct 3 18:05:53 UTC 2016


On 2016-10-03 02:39 AM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> We don't need this source in the repository as it is generated
> at built time from aslparser.y
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>  src/acpica/source/compiler/aslcompiler.y | 4378 ------------------------------
>  1 file changed, 4378 deletions(-)
>  delete mode 100644 src/acpica/source/compiler/aslcompiler.y
>
> diff --git a/src/acpica/source/compiler/aslcompiler.y b/src/acpica/source/compiler/aslcompiler.y
> deleted file mode 100644
> index 4dd34d4..0000000
> --- a/src/acpica/source/compiler/aslcompiler.y
> +++ /dev/null
> @@ -1,4378 +0,0 @@
> -%{
> -/******************************************************************************
> - *
> - * Module Name: aslparser.y - Master Bison/Yacc input file for iASL
> - *
> - *****************************************************************************/
> -
> -/******************************************************************************
> - *
> - * 1. Copyright Notice
> - *
> - * Some or all of this work - Copyright (c) 1999 - 2016, Intel Corp.
> - * All rights reserved.
> - *
> - * 2. License
> - *
> - * 2.1. This is your license from Intel Corp. under its intellectual property
> - * rights. You may have additional license terms from the party that provided
> - * you this software, covering your right to use that party's intellectual
> - * property rights.
> - *
> - * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
> - * copy of the source code appearing in this file ("Covered Code") an
> - * irrevocable, perpetual, worldwide license under Intel's copyrights in the
> - * base code distributed originally by Intel ("Original Intel Code") to copy,
> - * make derivatives, distribute, use and display any portion of the Covered
> - * Code in any form, with the right to sublicense such rights; and
> - *
> - * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
> - * license (with the right to sublicense), under only those claims of Intel
> - * patents that are infringed by the Original Intel Code, to make, use, sell,
> - * offer to sell, and import the Covered Code and derivative works thereof
> - * solely to the minimum extent necessary to exercise the above copyright
> - * license, and in no event shall the patent license extend to any additions
> - * to or modifications of the Original Intel Code. No other license or right
> - * is granted directly or by implication, estoppel or otherwise;
> - *
> - * The above copyright and patent license is granted only if the following
> - * conditions are met:
> - *
> - * 3. Conditions
> - *
> - * 3.1. Redistribution of Source with Rights to Further Distribute Source.
> - * Redistribution of source code of any substantial portion of the Covered
> - * Code or modification with rights to further distribute source must include
> - * the above Copyright Notice, the above License, this list of Conditions,
> - * and the following Disclaimer and Export Compliance provision. In addition,
> - * Licensee must cause all Covered Code to which Licensee contributes to
> - * contain a file documenting the changes Licensee made to create that Covered
> - * Code and the date of any change. Licensee must include in that file the
> - * documentation of any changes made by any predecessor Licensee. Licensee
> - * must include a prominent statement that the modification is derived,
> - * directly or indirectly, from Original Intel Code.
> - *
> - * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
> - * Redistribution of source code of any substantial portion of the Covered
> - * Code or modification without rights to further distribute source must
> - * include the following Disclaimer and Export Compliance provision in the
> - * documentation and/or other materials provided with distribution. In
> - * addition, Licensee may not authorize further sublicense of source of any
> - * portion of the Covered Code, and must include terms to the effect that the
> - * license from Licensee to its licensee is limited to the intellectual
> - * property embodied in the software Licensee provides to its licensee, and
> - * not to intellectual property embodied in modifications its licensee may
> - * make.
> - *
> - * 3.3. Redistribution of Executable. Redistribution in executable form of any
> - * substantial portion of the Covered Code or modification must reproduce the
> - * above Copyright Notice, and the following Disclaimer and Export Compliance
> - * provision in the documentation and/or other materials provided with the
> - * distribution.
> - *
> - * 3.4. Intel retains all right, title, and interest in and to the Original
> - * Intel Code.
> - *
> - * 3.5. Neither the name Intel nor any other trademark owned or controlled by
> - * Intel shall be used in advertising or otherwise to promote the sale, use or
> - * other dealings in products derived from or relating to the Covered Code
> - * without prior written authorization from Intel.
> - *
> - * 4. Disclaimer and Export Compliance
> - *
> - * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
> - * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
> - * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
> - * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
> - * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
> - * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
> - * PARTICULAR PURPOSE.
> - *
> - * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
> - * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
> - * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
> - * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
> - * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
> - * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
> - * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
> - * LIMITED REMEDY.
> - *
> - * 4.3. Licensee shall not export, either directly or indirectly, any of this
> - * software or system incorporating such software without first obtaining any
> - * required license or other approval from the U. S. Department of Commerce or
> - * any other agency or department of the United States Government. In the
> - * event Licensee exports any such software from the United States or
> - * re-exports any such software from a foreign destination, Licensee shall
> - * ensure that the distribution and export/re-export of the software is in
> - * compliance with all laws, regulations, orders, or other restrictions of the
> - * U.S. Export Administration Regulations. Licensee agrees that neither it nor
> - * any of its subsidiaries will export/re-export any technical data, process,
> - * software, or service, directly or indirectly, to any country for which the
> - * United States government or any agency thereof requires an export license,
> - * other governmental approval, or letter of assurance, without first obtaining
> - * such license, approval or letter.
> - *
> - *****************************************************************************/
> -
> -#include "aslcompiler.h"
> -#include "acpi.h"
> -#include "accommon.h"
> -
> -#define _COMPONENT          ACPI_COMPILER
> -        ACPI_MODULE_NAME    ("aslparse")
> -
> -/*
> - * Global Notes:
> - *
> - * October 2005: The following list terms have been optimized (from the
> - * original ASL grammar in the ACPI specification) to force the immediate
> - * reduction of each list item so that the parse stack use doesn't increase on
> - * each list element and possibly overflow on very large lists (>4000 items).
> - * This dramatically reduces use of the parse stack overall.
> - *
> - *      ArgList, TermList, ByteList, DWordList, PackageList,
> - *      ResourceMacroList, and FieldUnitList
> - */
> -
> -void *
> -AslLocalAllocate (
> -    unsigned int            Size);
> -
> -
> -/* Bison/yacc configuration */
> -
> -#define static
> -#undef malloc
> -#define malloc              AslLocalAllocate
> -#undef alloca
> -#define alloca              AslLocalAllocate
> -#define yytname             AslCompilername
> -
> -#define YYINITDEPTH         600             /* State stack depth */
> -#define YYDEBUG             1               /* Enable debug output */
> -#define YYERROR_VERBOSE     1               /* Verbose error messages */
> -#define YYFLAG              -32768
> -
> -/* Define YYMALLOC/YYFREE to prevent redefinition errors  */
> -
> -#define YYMALLOC            AslLocalAllocate
> -#define YYFREE              ACPI_FREE
> -%}
> -
> -/*
> - * Declare the type of values in the grammar
> - */
> -%union {
> -    UINT64              i;
> -    char                *s;
> -    ACPI_PARSE_OBJECT   *n;
> -}
> -
> -/*
> - * These shift/reduce conflicts are expected. There should be zero
> - * reduce/reduce conflicts.
> - */
> -%expect 102
> -
> -/*! [Begin] no source code translation */
> -
> -/*
> - * The M4 macro processor is used to bring in the parser items,
> - * in order to keep this master file smaller, and to break up
> - * the various parser items.
> - */
> -
> -
> -/* Token types */
> -
> -
> -
> -/******************************************************************************
> - *
> - * Token types: These are returned by the lexer
> - *
> - * NOTE: This list MUST match the AslKeywordMapping table found
> - *       in aslmap.c EXACTLY!  Double check any changes!
> - *
> - *****************************************************************************/
> -
> -/*
> - * Most tokens are defined to return <i>, which is a UINT64.
> - *
> - * These tokens return <s>, a pointer to the associated lexed string:
> - *
> - *  PARSEOP_NAMESEG
> - *  PARSEOP_NAMESTRING
> - *  PARSEOP_STRING_LITERAL
> - *  PARSEOP_STRUCTURE_NAMESTRING
> - */
> -%token <i> PARSEOP_ACCESSAS
> -%token <i> PARSEOP_ACCESSATTRIB_BLOCK
> -%token <i> PARSEOP_ACCESSATTRIB_BLOCK_CALL
> -%token <i> PARSEOP_ACCESSATTRIB_BYTE
> -%token <i> PARSEOP_ACCESSATTRIB_MULTIBYTE
> -%token <i> PARSEOP_ACCESSATTRIB_QUICK
> -%token <i> PARSEOP_ACCESSATTRIB_RAW_BYTES
> -%token <i> PARSEOP_ACCESSATTRIB_RAW_PROCESS
> -%token <i> PARSEOP_ACCESSATTRIB_SND_RCV
> -%token <i> PARSEOP_ACCESSATTRIB_WORD
> -%token <i> PARSEOP_ACCESSATTRIB_WORD_CALL
> -%token <i> PARSEOP_ACCESSTYPE_ANY
> -%token <i> PARSEOP_ACCESSTYPE_BUF
> -%token <i> PARSEOP_ACCESSTYPE_BYTE
> -%token <i> PARSEOP_ACCESSTYPE_DWORD
> -%token <i> PARSEOP_ACCESSTYPE_QWORD
> -%token <i> PARSEOP_ACCESSTYPE_WORD
> -%token <i> PARSEOP_ACQUIRE
> -%token <i> PARSEOP_ADD
> -%token <i> PARSEOP_ADDRESSINGMODE_7BIT
> -%token <i> PARSEOP_ADDRESSINGMODE_10BIT
> -%token <i> PARSEOP_ADDRESSTYPE_ACPI
> -%token <i> PARSEOP_ADDRESSTYPE_MEMORY
> -%token <i> PARSEOP_ADDRESSTYPE_NVS
> -%token <i> PARSEOP_ADDRESSTYPE_RESERVED
> -%token <i> PARSEOP_ALIAS
> -%token <i> PARSEOP_AND
> -%token <i> PARSEOP_ARG0
> -%token <i> PARSEOP_ARG1
> -%token <i> PARSEOP_ARG2
> -%token <i> PARSEOP_ARG3
> -%token <i> PARSEOP_ARG4
> -%token <i> PARSEOP_ARG5
> -%token <i> PARSEOP_ARG6
> -%token <i> PARSEOP_BANKFIELD
> -%token <i> PARSEOP_BITSPERBYTE_EIGHT
> -%token <i> PARSEOP_BITSPERBYTE_FIVE
> -%token <i> PARSEOP_BITSPERBYTE_NINE
> -%token <i> PARSEOP_BITSPERBYTE_SEVEN
> -%token <i> PARSEOP_BITSPERBYTE_SIX
> -%token <i> PARSEOP_BREAK
> -%token <i> PARSEOP_BREAKPOINT
> -%token <i> PARSEOP_BUFFER
> -%token <i> PARSEOP_BUSMASTERTYPE_MASTER
> -%token <i> PARSEOP_BUSMASTERTYPE_NOTMASTER
> -%token <i> PARSEOP_BYTECONST
> -%token <i> PARSEOP_CASE
> -%token <i> PARSEOP_CLOCKPHASE_FIRST
> -%token <i> PARSEOP_CLOCKPHASE_SECOND
> -%token <i> PARSEOP_CLOCKPOLARITY_HIGH
> -%token <i> PARSEOP_CLOCKPOLARITY_LOW
> -%token <i> PARSEOP_CONCATENATE
> -%token <i> PARSEOP_CONCATENATERESTEMPLATE
> -%token <i> PARSEOP_CONDREFOF
> -%token <i> PARSEOP_CONNECTION
> -%token <i> PARSEOP_CONTINUE
> -%token <i> PARSEOP_COPYOBJECT
> -%token <i> PARSEOP_CREATEBITFIELD
> -%token <i> PARSEOP_CREATEBYTEFIELD
> -%token <i> PARSEOP_CREATEDWORDFIELD
> -%token <i> PARSEOP_CREATEFIELD
> -%token <i> PARSEOP_CREATEQWORDFIELD
> -%token <i> PARSEOP_CREATEWORDFIELD
> -%token <i> PARSEOP_DATABUFFER
> -%token <i> PARSEOP_DATATABLEREGION
> -%token <i> PARSEOP_DEBUG
> -%token <i> PARSEOP_DECODETYPE_POS
> -%token <i> PARSEOP_DECODETYPE_SUB
> -%token <i> PARSEOP_DECREMENT
> -%token <i> PARSEOP_DEFAULT
> -%token <i> PARSEOP_DEFAULT_ARG
> -%token <i> PARSEOP_DEFINITION_BLOCK
> -%token <i> PARSEOP_DEREFOF
> -%token <i> PARSEOP_DEVICE
> -%token <i> PARSEOP_DEVICEPOLARITY_HIGH
> -%token <i> PARSEOP_DEVICEPOLARITY_LOW
> -%token <i> PARSEOP_DIVIDE
> -%token <i> PARSEOP_DMA
> -%token <i> PARSEOP_DMATYPE_A
> -%token <i> PARSEOP_DMATYPE_COMPATIBILITY
> -%token <i> PARSEOP_DMATYPE_B
> -%token <i> PARSEOP_DMATYPE_F
> -%token <i> PARSEOP_DWORDCONST
> -%token <i> PARSEOP_DWORDIO
> -%token <i> PARSEOP_DWORDMEMORY
> -%token <i> PARSEOP_DWORDSPACE
> -%token <i> PARSEOP_EISAID
> -%token <i> PARSEOP_ELSE
> -%token <i> PARSEOP_ELSEIF
> -%token <i> PARSEOP_ENDDEPENDENTFN
> -%token <i> PARSEOP_ENDIAN_BIG
> -%token <i> PARSEOP_ENDIAN_LITTLE
> -%token <i> PARSEOP_ENDTAG
> -%token <i> PARSEOP_ERRORNODE
> -%token <i> PARSEOP_EVENT
> -%token <i> PARSEOP_EXTENDEDIO
> -%token <i> PARSEOP_EXTENDEDMEMORY
> -%token <i> PARSEOP_EXTENDEDSPACE
> -%token <i> PARSEOP_EXTERNAL
> -%token <i> PARSEOP_FATAL
> -%token <i> PARSEOP_FIELD
> -%token <i> PARSEOP_FINDSETLEFTBIT
> -%token <i> PARSEOP_FINDSETRIGHTBIT
> -%token <i> PARSEOP_FIXEDDMA
> -%token <i> PARSEOP_FIXEDIO
> -%token <i> PARSEOP_FLOWCONTROL_HW
> -%token <i> PARSEOP_FLOWCONTROL_NONE
> -%token <i> PARSEOP_FLOWCONTROL_SW
> -%token <i> PARSEOP_FROMBCD
> -%token <i> PARSEOP_FUNCTION
> -%token <i> PARSEOP_GPIO_INT
> -%token <i> PARSEOP_GPIO_IO
> -%token <i> PARSEOP_I2C_SERIALBUS
> -%token <i> PARSEOP_I2C_SERIALBUS_V2
> -%token <i> PARSEOP_IF
> -%token <i> PARSEOP_INCLUDE
> -%token <i> PARSEOP_INCLUDE_END
> -%token <i> PARSEOP_INCREMENT
> -%token <i> PARSEOP_INDEX
> -%token <i> PARSEOP_INDEXFIELD
> -%token <i> PARSEOP_INTEGER
> -%token <i> PARSEOP_INTERRUPT
> -%token <i> PARSEOP_INTLEVEL_ACTIVEBOTH
> -%token <i> PARSEOP_INTLEVEL_ACTIVEHIGH
> -%token <i> PARSEOP_INTLEVEL_ACTIVELOW
> -%token <i> PARSEOP_INTTYPE_EDGE
> -%token <i> PARSEOP_INTTYPE_LEVEL
> -%token <i> PARSEOP_IO
> -%token <i> PARSEOP_IODECODETYPE_10
> -%token <i> PARSEOP_IODECODETYPE_16
> -%token <i> PARSEOP_IORESTRICT_IN
> -%token <i> PARSEOP_IORESTRICT_NONE
> -%token <i> PARSEOP_IORESTRICT_OUT
> -%token <i> PARSEOP_IORESTRICT_PRESERVE
> -%token <i> PARSEOP_IRQ
> -%token <i> PARSEOP_IRQNOFLAGS
> -%token <i> PARSEOP_LAND
> -%token <i> PARSEOP_LEQUAL
> -%token <i> PARSEOP_LGREATER
> -%token <i> PARSEOP_LGREATEREQUAL
> -%token <i> PARSEOP_LLESS
> -%token <i> PARSEOP_LLESSEQUAL
> -%token <i> PARSEOP_LNOT
> -%token <i> PARSEOP_LNOTEQUAL
> -%token <i> PARSEOP_LOAD
> -%token <i> PARSEOP_LOADTABLE
> -%token <i> PARSEOP_LOCAL0
> -%token <i> PARSEOP_LOCAL1
> -%token <i> PARSEOP_LOCAL2
> -%token <i> PARSEOP_LOCAL3
> -%token <i> PARSEOP_LOCAL4
> -%token <i> PARSEOP_LOCAL5
> -%token <i> PARSEOP_LOCAL6
> -%token <i> PARSEOP_LOCAL7
> -%token <i> PARSEOP_LOCKRULE_LOCK
> -%token <i> PARSEOP_LOCKRULE_NOLOCK
> -%token <i> PARSEOP_LOR
> -%token <i> PARSEOP_MATCH
> -%token <i> PARSEOP_MATCHTYPE_MEQ
> -%token <i> PARSEOP_MATCHTYPE_MGE
> -%token <i> PARSEOP_MATCHTYPE_MGT
> -%token <i> PARSEOP_MATCHTYPE_MLE
> -%token <i> PARSEOP_MATCHTYPE_MLT
> -%token <i> PARSEOP_MATCHTYPE_MTR
> -%token <i> PARSEOP_MAXTYPE_FIXED
> -%token <i> PARSEOP_MAXTYPE_NOTFIXED
> -%token <i> PARSEOP_MEMORY24
> -%token <i> PARSEOP_MEMORY32
> -%token <i> PARSEOP_MEMORY32FIXED
> -%token <i> PARSEOP_MEMTYPE_CACHEABLE
> -%token <i> PARSEOP_MEMTYPE_NONCACHEABLE
> -%token <i> PARSEOP_MEMTYPE_PREFETCHABLE
> -%token <i> PARSEOP_MEMTYPE_WRITECOMBINING
> -%token <i> PARSEOP_METHOD
> -%token <i> PARSEOP_METHODCALL
> -%token <i> PARSEOP_MID
> -%token <i> PARSEOP_MINTYPE_FIXED
> -%token <i> PARSEOP_MINTYPE_NOTFIXED
> -%token <i> PARSEOP_MOD
> -%token <i> PARSEOP_MULTIPLY
> -%token <i> PARSEOP_MUTEX
> -%token <i> PARSEOP_NAME
> -%token <s> PARSEOP_NAMESEG
> -%token <s> PARSEOP_NAMESTRING
> -%token <i> PARSEOP_NAND
> -%token <i> PARSEOP_NOOP
> -%token <i> PARSEOP_NOR
> -%token <i> PARSEOP_NOT
> -%token <i> PARSEOP_NOTIFY
> -%token <i> PARSEOP_OBJECTTYPE
> -%token <i> PARSEOP_OBJECTTYPE_BFF
> -%token <i> PARSEOP_OBJECTTYPE_BUF
> -%token <i> PARSEOP_OBJECTTYPE_DDB
> -%token <i> PARSEOP_OBJECTTYPE_DEV
> -%token <i> PARSEOP_OBJECTTYPE_EVT
> -%token <i> PARSEOP_OBJECTTYPE_FLD
> -%token <i> PARSEOP_OBJECTTYPE_INT
> -%token <i> PARSEOP_OBJECTTYPE_MTH
> -%token <i> PARSEOP_OBJECTTYPE_MTX
> -%token <i> PARSEOP_OBJECTTYPE_OPR
> -%token <i> PARSEOP_OBJECTTYPE_PKG
> -%token <i> PARSEOP_OBJECTTYPE_POW
> -%token <i> PARSEOP_OBJECTTYPE_PRO
> -%token <i> PARSEOP_OBJECTTYPE_STR
> -%token <i> PARSEOP_OBJECTTYPE_THZ
> -%token <i> PARSEOP_OBJECTTYPE_UNK
> -%token <i> PARSEOP_OFFSET
> -%token <i> PARSEOP_ONE
> -%token <i> PARSEOP_ONES
> -%token <i> PARSEOP_OPERATIONREGION
> -%token <i> PARSEOP_OR
> -%token <i> PARSEOP_PACKAGE
> -%token <i> PARSEOP_PACKAGE_LENGTH
> -%token <i> PARSEOP_PARITYTYPE_EVEN
> -%token <i> PARSEOP_PARITYTYPE_MARK
> -%token <i> PARSEOP_PARITYTYPE_NONE
> -%token <i> PARSEOP_PARITYTYPE_ODD
> -%token <i> PARSEOP_PARITYTYPE_SPACE
> -%token <i> PARSEOP_PIN_NOPULL
> -%token <i> PARSEOP_PIN_PULLDEFAULT
> -%token <i> PARSEOP_PIN_PULLDOWN
> -%token <i> PARSEOP_PIN_PULLUP
> -%token <i> PARSEOP_POWERRESOURCE
> -%token <i> PARSEOP_PROCESSOR
> -%token <i> PARSEOP_QWORDCONST
> -%token <i> PARSEOP_QWORDIO
> -%token <i> PARSEOP_QWORDMEMORY
> -%token <i> PARSEOP_QWORDSPACE
> -%token <i> PARSEOP_RANGETYPE_ENTIRE
> -%token <i> PARSEOP_RANGETYPE_ISAONLY
> -%token <i> PARSEOP_RANGETYPE_NONISAONLY
> -%token <i> PARSEOP_RAW_DATA
> -%token <i> PARSEOP_READWRITETYPE_BOTH
> -%token <i> PARSEOP_READWRITETYPE_READONLY
> -%token <i> PARSEOP_REFOF
> -%token <i> PARSEOP_REGIONSPACE_CMOS
> -%token <i> PARSEOP_REGIONSPACE_EC
> -%token <i> PARSEOP_REGIONSPACE_FFIXEDHW
> -%token <i> PARSEOP_REGIONSPACE_GPIO
> -%token <i> PARSEOP_REGIONSPACE_GSBUS
> -%token <i> PARSEOP_REGIONSPACE_IO
> -%token <i> PARSEOP_REGIONSPACE_IPMI
> -%token <i> PARSEOP_REGIONSPACE_MEM
> -%token <i> PARSEOP_REGIONSPACE_PCC
> -%token <i> PARSEOP_REGIONSPACE_PCI
> -%token <i> PARSEOP_REGIONSPACE_PCIBAR
> -%token <i> PARSEOP_REGIONSPACE_SMBUS
> -%token <i> PARSEOP_REGISTER
> -%token <i> PARSEOP_RELEASE
> -%token <i> PARSEOP_RESERVED_BYTES
> -%token <i> PARSEOP_RESET
> -%token <i> PARSEOP_RESOURCETEMPLATE
> -%token <i> PARSEOP_RESOURCETYPE_CONSUMER
> -%token <i> PARSEOP_RESOURCETYPE_PRODUCER
> -%token <i> PARSEOP_RETURN
> -%token <i> PARSEOP_REVISION
> -%token <i> PARSEOP_SCOPE
> -%token <i> PARSEOP_SERIALIZERULE_NOTSERIAL
> -%token <i> PARSEOP_SERIALIZERULE_SERIAL
> -%token <i> PARSEOP_SHARETYPE_EXCLUSIVE
> -%token <i> PARSEOP_SHARETYPE_EXCLUSIVEWAKE
> -%token <i> PARSEOP_SHARETYPE_SHARED
> -%token <i> PARSEOP_SHARETYPE_SHAREDWAKE
> -%token <i> PARSEOP_SHIFTLEFT
> -%token <i> PARSEOP_SHIFTRIGHT
> -%token <i> PARSEOP_SIGNAL
> -%token <i> PARSEOP_SIZEOF
> -%token <i> PARSEOP_SLAVEMODE_CONTROLLERINIT
> -%token <i> PARSEOP_SLAVEMODE_DEVICEINIT
> -%token <i> PARSEOP_SLEEP
> -%token <i> PARSEOP_SPI_SERIALBUS
> -%token <i> PARSEOP_SPI_SERIALBUS_V2
> -%token <i> PARSEOP_STALL
> -%token <i> PARSEOP_STARTDEPENDENTFN
> -%token <i> PARSEOP_STARTDEPENDENTFN_NOPRI
> -%token <i> PARSEOP_STOPBITS_ONE
> -%token <i> PARSEOP_STOPBITS_ONEPLUSHALF
> -%token <i> PARSEOP_STOPBITS_TWO
> -%token <i> PARSEOP_STOPBITS_ZERO
> -%token <i> PARSEOP_STORE
> -%token <s> PARSEOP_STRING_LITERAL
> -%token <i> PARSEOP_SUBTRACT
> -%token <i> PARSEOP_SWITCH
> -%token <i> PARSEOP_THERMALZONE
> -%token <i> PARSEOP_TIMER
> -%token <i> PARSEOP_TOBCD
> -%token <i> PARSEOP_TOBUFFER
> -%token <i> PARSEOP_TODECIMALSTRING
> -%token <i> PARSEOP_TOHEXSTRING
> -%token <i> PARSEOP_TOINTEGER
> -%token <i> PARSEOP_TOSTRING
> -%token <i> PARSEOP_TOUUID
> -%token <i> PARSEOP_TRANSLATIONTYPE_DENSE
> -%token <i> PARSEOP_TRANSLATIONTYPE_SPARSE
> -%token <i> PARSEOP_TYPE_STATIC
> -%token <i> PARSEOP_TYPE_TRANSLATION
> -%token <i> PARSEOP_UART_SERIALBUS
> -%token <i> PARSEOP_UART_SERIALBUS_V2
> -%token <i> PARSEOP_UNICODE
> -%token <i> PARSEOP_UNLOAD
> -%token <i> PARSEOP_UPDATERULE_ONES
> -%token <i> PARSEOP_UPDATERULE_PRESERVE
> -%token <i> PARSEOP_UPDATERULE_ZEROS
> -%token <i> PARSEOP_VAR_PACKAGE
> -%token <i> PARSEOP_VENDORLONG
> -%token <i> PARSEOP_VENDORSHORT
> -%token <i> PARSEOP_WAIT
> -%token <i> PARSEOP_WHILE
> -%token <i> PARSEOP_WIREMODE_FOUR
> -%token <i> PARSEOP_WIREMODE_THREE
> -%token <i> PARSEOP_WORDBUSNUMBER
> -%token <i> PARSEOP_WORDCONST
> -%token <i> PARSEOP_WORDIO
> -%token <i> PARSEOP_WORDSPACE
> -%token <i> PARSEOP_XFERSIZE_8
> -%token <i> PARSEOP_XFERSIZE_16
> -%token <i> PARSEOP_XFERSIZE_32
> -%token <i> PARSEOP_XFERSIZE_64
> -%token <i> PARSEOP_XFERSIZE_128
> -%token <i> PARSEOP_XFERSIZE_256
> -%token <i> PARSEOP_XFERTYPE_8
> -%token <i> PARSEOP_XFERTYPE_8_16
> -%token <i> PARSEOP_XFERTYPE_16
> -%token <i> PARSEOP_XOR
> -%token <i> PARSEOP_ZERO
> -
> -/* ToPld macro */
> -
> -%token <i> PARSEOP_TOPLD
> -%token <i> PARSEOP_PLD_REVISION
> -%token <i> PARSEOP_PLD_IGNORECOLOR
> -%token <i> PARSEOP_PLD_RED
> -%token <i> PARSEOP_PLD_GREEN
> -%token <i> PARSEOP_PLD_BLUE
> -%token <i> PARSEOP_PLD_WIDTH
> -%token <i> PARSEOP_PLD_HEIGHT
> -%token <i> PARSEOP_PLD_USERVISIBLE
> -%token <i> PARSEOP_PLD_DOCK
> -%token <i> PARSEOP_PLD_LID
> -%token <i> PARSEOP_PLD_PANEL
> -%token <i> PARSEOP_PLD_VERTICALPOSITION
> -%token <i> PARSEOP_PLD_HORIZONTALPOSITION
> -%token <i> PARSEOP_PLD_SHAPE
> -%token <i> PARSEOP_PLD_GROUPORIENTATION
> -%token <i> PARSEOP_PLD_GROUPTOKEN
> -%token <i> PARSEOP_PLD_GROUPPOSITION
> -%token <i> PARSEOP_PLD_BAY
> -%token <i> PARSEOP_PLD_EJECTABLE
> -%token <i> PARSEOP_PLD_EJECTREQUIRED
> -%token <i> PARSEOP_PLD_CABINETNUMBER
> -%token <i> PARSEOP_PLD_CARDCAGENUMBER
> -%token <i> PARSEOP_PLD_REFERENCE
> -%token <i> PARSEOP_PLD_ROTATION
> -%token <i> PARSEOP_PLD_ORDER
> -%token <i> PARSEOP_PLD_RESERVED
> -%token <i> PARSEOP_PLD_VERTICALOFFSET
> -%token <i> PARSEOP_PLD_HORIZONTALOFFSET
> -
> -/*
> - * C-style expression parser. These must appear after all of the
> - * standard ASL operators and keywords.
> - *
> - * Note: The order of these tokens implements the precedence rules
> - * (low precedence to high). See aslrules.y for an exhaustive list.
> - */
> -%right <i> PARSEOP_EXP_EQUALS
> -           PARSEOP_EXP_ADD_EQ
> -           PARSEOP_EXP_SUB_EQ
> -           PARSEOP_EXP_MUL_EQ
> -           PARSEOP_EXP_DIV_EQ
> -           PARSEOP_EXP_MOD_EQ
> -           PARSEOP_EXP_SHL_EQ
> -           PARSEOP_EXP_SHR_EQ
> -           PARSEOP_EXP_AND_EQ
> -           PARSEOP_EXP_XOR_EQ
> -           PARSEOP_EXP_OR_EQ
> -
> -%left <i>  PARSEOP_EXP_LOGICAL_OR
> -%left <i>  PARSEOP_EXP_LOGICAL_AND
> -%left <i>  PARSEOP_EXP_OR
> -%left <i>  PARSEOP_EXP_XOR
> -%left <i>  PARSEOP_EXP_AND
> -%left <i>  PARSEOP_EXP_EQUAL
> -           PARSEOP_EXP_NOT_EQUAL
> -%left <i>  PARSEOP_EXP_GREATER
> -           PARSEOP_EXP_LESS
> -           PARSEOP_EXP_GREATER_EQUAL
> -           PARSEOP_EXP_LESS_EQUAL
> -%left <i>  PARSEOP_EXP_SHIFT_RIGHT
> -           PARSEOP_EXP_SHIFT_LEFT
> -%left <i>  PARSEOP_EXP_ADD
> -           PARSEOP_EXP_SUBTRACT
> -%left <i>  PARSEOP_EXP_MULTIPLY
> -           PARSEOP_EXP_DIVIDE
> -           PARSEOP_EXP_MODULO
> -
> -%right <i> PARSEOP_EXP_NOT
> -           PARSEOP_EXP_LOGICAL_NOT
> -
> -%left <i>  PARSEOP_EXP_INCREMENT
> -           PARSEOP_EXP_DECREMENT
> -
> -/* Brackets for Index() support */
> -
> -%left <i>  PARSEOP_EXP_INDEX_LEFT
> -%right <i> PARSEOP_EXP_INDEX_RIGHT
> -
> -/* Macros */
> -
> -%token <i> PARSEOP_PRINTF
> -%token <i> PARSEOP_FPRINTF
> -%token <i> PARSEOP_FOR
> -
> -/* Structures */
> -
> -%token <i> PARSEOP_STRUCTURE
> -%token <s> PARSEOP_STRUCTURE_NAMESTRING
> -%token <i> PARSEOP_STRUCTURE_TAG
> -%token <i> PARSEOP_STRUCTURE_ELEMENT
> -%token <i> PARSEOP_STRUCTURE_INSTANCE
> -%token <i> PARSEOP_STRUCTURE_REFERENCE
> -%token <i> PARSEOP_STRUCTURE_POINTER
> -
> -/* Top level */
> -
> -%token <i> PARSEOP_ASL_CODE
> -
> -
> -/*******************************************************************************
> - *
> - * Tokens below are not in the aslmap.c file
> - *
> - ******************************************************************************/
> -
> -
> -/* Tokens below this are not in the aslmap.c file */
> -
> -/* Specific parentheses tokens are not used at this time */
> -           /* PARSEOP_EXP_PAREN_OPEN */
> -           /* PARSEOP_EXP_PAREN_CLOSE */
> -
> -/* ASL+ variable creation */
> -
> -%token <i> PARSEOP_INTEGER_TYPE
> -%token <i> PARSEOP_STRING_TYPE
> -%token <i> PARSEOP_BUFFER_TYPE
> -%token <i> PARSEOP_PACKAGE_TYPE
> -%token <i> PARSEOP_REFERENCE_TYPE
> -
> -
> -/*
> - * Special functions. These should probably stay at the end of this
> - * table.
> - */
> -%token <i> PARSEOP___DATE__
> -%token <i> PARSEOP___FILE__
> -%token <i> PARSEOP___LINE__
> -%token <i> PARSEOP___PATH__
> -
> -
> -/* Production types/names */
> -
> -
> -
> -/******************************************************************************
> - *
> - * Production names
> - *
> - *****************************************************************************/
> -
> -%type <n> ArgList
> -%type <n> AslCode
> -%type <n> BufferData
> -%type <n> BufferTermData
> -%type <n> CompilerDirective
> -%type <n> DataObject
> -%type <n> DefinitionBlockTerm
> -%type <n> DefinitionBlockList
> -%type <n> IntegerData
> -%type <n> NamedObject
> -%type <n> NameSpaceModifier
> -%type <n> Object
> -%type <n> PackageData
> -%type <n> ParameterTypePackage
> -%type <n> ParameterTypePackageList
> -%type <n> ParameterTypesPackage
> -%type <n> ParameterTypesPackageList
> -%type <n> RequiredTarget
> -%type <n> SimpleTarget
> -%type <n> StringData
> -%type <n> Target
> -%type <n> Term
> -%type <n> TermArg
> -%type <n> TermList
> -%type <n> MethodInvocationTerm
> -
> -/* Type4Opcode is obsolete */
> -
> -%type <n> Type1Opcode
> -%type <n> Type2BufferOpcode
> -%type <n> Type2BufferOrStringOpcode
> -%type <n> Type2IntegerOpcode
> -%type <n> Type2Opcode
> -%type <n> Type2StringOpcode
> -%type <n> Type3Opcode
> -%type <n> Type5Opcode
> -%type <n> Type6Opcode
> -
> -%type <n> AccessAsTerm
> -%type <n> ExternalTerm
> -%type <n> FieldUnit
> -%type <n> FieldUnitEntry
> -%type <n> FieldUnitList
> -%type <n> IncludeTerm
> -%type <n> OffsetTerm
> -%type <n> OptionalAccessAttribTerm
> -
> -/* Named Objects */
> -
> -%type <n> BankFieldTerm
> -%type <n> CreateBitFieldTerm
> -%type <n> CreateByteFieldTerm
> -%type <n> CreateDWordFieldTerm
> -%type <n> CreateFieldTerm
> -%type <n> CreateQWordFieldTerm
> -%type <n> CreateWordFieldTerm
> -%type <n> DataRegionTerm
> -%type <n> DeviceTerm
> -%type <n> EventTerm
> -%type <n> FieldTerm
> -%type <n> FunctionTerm
> -%type <n> IndexFieldTerm
> -%type <n> MethodTerm
> -%type <n> MutexTerm
> -%type <n> OpRegionTerm
> -%type <n> OpRegionSpaceIdTerm
> -%type <n> PowerResTerm
> -%type <n> ProcessorTerm
> -%type <n> ThermalZoneTerm
> -
> -/* Namespace modifiers */
> -
> -%type <n> AliasTerm
> -%type <n> NameTerm
> -%type <n> ScopeTerm
> -
> -/* Type 1 opcodes */
> -
> -%type <n> BreakPointTerm
> -%type <n> BreakTerm
> -%type <n> CaseDefaultTermList
> -%type <n> CaseTerm
> -%type <n> ContinueTerm
> -%type <n> DefaultTerm
> -%type <n> ElseTerm
> -%type <n> FatalTerm
> -%type <n> ElseIfTerm
> -%type <n> IfTerm
> -%type <n> LoadTerm
> -%type <n> NoOpTerm
> -%type <n> NotifyTerm
> -%type <n> ReleaseTerm
> -%type <n> ResetTerm
> -%type <n> ReturnTerm
> -%type <n> SignalTerm
> -%type <n> SleepTerm
> -%type <n> StallTerm
> -%type <n> SwitchTerm
> -%type <n> UnloadTerm
> -%type <n> WhileTerm
> -/* %type <n> CaseTermList */
> -
> -/* Type 2 opcodes */
> -
> -%type <n> AcquireTerm
> -%type <n> AddTerm
> -%type <n> AndTerm
> -%type <n> ConcatResTerm
> -%type <n> ConcatTerm
> -%type <n> CondRefOfTerm
> -%type <n> CopyObjectTerm
> -%type <n> DecTerm
> -%type <n> DerefOfTerm
> -%type <n> DivideTerm
> -%type <n> FindSetLeftBitTerm
> -%type <n> FindSetRightBitTerm
> -%type <n> FromBCDTerm
> -%type <n> IncTerm
> -%type <n> IndexTerm
> -%type <n> LAndTerm
> -%type <n> LEqualTerm
> -%type <n> LGreaterEqualTerm
> -%type <n> LGreaterTerm
> -%type <n> LLessEqualTerm
> -%type <n> LLessTerm
> -%type <n> LNotEqualTerm
> -%type <n> LNotTerm
> -%type <n> LoadTableTerm
> -%type <n> LOrTerm
> -%type <n> MatchTerm
> -%type <n> MidTerm
> -%type <n> ModTerm
> -%type <n> MultiplyTerm
> -%type <n> NAndTerm
> -%type <n> NOrTerm
> -%type <n> NotTerm
> -%type <n> ObjectTypeTerm
> -%type <n> OrTerm
> -%type <n> RawDataBufferTerm
> -%type <n> RefOfTerm
> -%type <n> ShiftLeftTerm
> -%type <n> ShiftRightTerm
> -%type <n> SizeOfTerm
> -%type <n> StoreTerm
> -%type <n> SubtractTerm
> -%type <n> TimerTerm
> -%type <n> ToBCDTerm
> -%type <n> ToBufferTerm
> -%type <n> ToDecimalStringTerm
> -%type <n> ToHexStringTerm
> -%type <n> ToIntegerTerm
> -%type <n> ToStringTerm
> -%type <n> WaitTerm
> -%type <n> XOrTerm
> -
> -/* Keywords */
> -
> -%type <n> AccessAttribKeyword
> -%type <n> AccessTypeKeyword
> -%type <n> AddressingModeKeyword
> -%type <n> AddressKeyword
> -%type <n> AddressSpaceKeyword
> -%type <n> BitsPerByteKeyword
> -%type <n> ClockPhaseKeyword
> -%type <n> ClockPolarityKeyword
> -%type <n> DecodeKeyword
> -%type <n> DevicePolarityKeyword
> -%type <n> DMATypeKeyword
> -%type <n> EndianKeyword
> -%type <n> FlowControlKeyword
> -%type <n> InterruptLevel
> -%type <n> InterruptTypeKeyword
> -%type <n> IODecodeKeyword
> -%type <n> IoRestrictionKeyword
> -%type <n> LockRuleKeyword
> -%type <n> MatchOpKeyword
> -%type <n> MaxKeyword
> -%type <n> MemTypeKeyword
> -%type <n> MinKeyword
> -%type <n> ObjectTypeKeyword
> -%type <n> OptionalBusMasterKeyword
> -%type <n> OptionalReadWriteKeyword
> -%type <n> ParityTypeKeyword
> -%type <n> PinConfigByte
> -%type <n> PinConfigKeyword
> -%type <n> RangeTypeKeyword
> -%type <n> RegionSpaceKeyword
> -%type <n> ResourceTypeKeyword
> -%type <n> SerializeRuleKeyword
> -%type <n> ShareTypeKeyword
> -%type <n> SlaveModeKeyword
> -%type <n> StopBitsKeyword
> -%type <n> TranslationKeyword
> -%type <n> TypeKeyword
> -%type <n> UpdateRuleKeyword
> -%type <n> WireModeKeyword
> -%type <n> XferSizeKeyword
> -%type <n> XferTypeKeyword
> -
> -/* Types */
> -
> -%type <n> SuperName
> -%type <n> ObjectTypeName
> -%type <n> ArgTerm
> -%type <n> LocalTerm
> -%type <n> DebugTerm
> -
> -%type <n> Integer
> -%type <n> ByteConst
> -%type <n> WordConst
> -%type <n> DWordConst
> -%type <n> QWordConst
> -%type <n> String
> -
> -%type <n> ConstTerm
> -%type <n> ConstExprTerm
> -%type <n> ByteConstExpr
> -%type <n> WordConstExpr
> -%type <n> DWordConstExpr
> -%type <n> QWordConstExpr
> -
> -%type <n> DWordList
> -%type <n> BufferTerm
> -%type <n> ByteList
> -
> -%type <n> PackageElement
> -%type <n> PackageList
> -%type <n> PackageTerm
> -
> -/* Macros */
> -
> -%type <n> EISAIDTerm
> -%type <n> ResourceMacroList
> -%type <n> ResourceMacroTerm
> -%type <n> ResourceTemplateTerm
> -%type <n> PldKeyword
> -%type <n> PldKeywordList
> -%type <n> ToPLDTerm
> -%type <n> ToUUIDTerm
> -%type <n> UnicodeTerm
> -%type <n> PrintfArgList
> -%type <n> PrintfTerm
> -%type <n> FprintfTerm
> -%type <n> ForTerm
> -
> -/* Resource Descriptors */
> -
> -%type <n> ConnectionTerm
> -%type <n> DMATerm
> -%type <n> DWordIOTerm
> -%type <n> DWordMemoryTerm
> -%type <n> DWordSpaceTerm
> -%type <n> EndDependentFnTerm
> -%type <n> ExtendedIOTerm
> -%type <n> ExtendedMemoryTerm
> -%type <n> ExtendedSpaceTerm
> -%type <n> FixedDmaTerm
> -%type <n> FixedIOTerm
> -%type <n> GpioIntTerm
> -%type <n> GpioIoTerm
> -%type <n> I2cSerialBusTerm
> -%type <n> I2cSerialBusTermV2
> -%type <n> InterruptTerm
> -%type <n> IOTerm
> -%type <n> IRQNoFlagsTerm
> -%type <n> IRQTerm
> -%type <n> Memory24Term
> -%type <n> Memory32FixedTerm
> -%type <n> Memory32Term
> -%type <n> NameSeg
> -%type <n> NameString
> -%type <n> QWordIOTerm
> -%type <n> QWordMemoryTerm
> -%type <n> QWordSpaceTerm
> -%type <n> RegisterTerm
> -%type <n> SpiSerialBusTerm
> -%type <n> SpiSerialBusTermV2
> -%type <n> StartDependentFnNoPriTerm
> -%type <n> StartDependentFnTerm
> -%type <n> UartSerialBusTerm
> -%type <n> UartSerialBusTermV2
> -%type <n> VendorLongTerm
> -%type <n> VendorShortTerm
> -%type <n> WordBusNumberTerm
> -%type <n> WordIOTerm
> -%type <n> WordSpaceTerm
> -
> -/* Local types that help construct the AML, not in ACPI spec */
> -
> -%type <n> AmlPackageLengthTerm
> -%type <n> IncludeEndTerm
> -%type <n> NameStringItem
> -%type <n> TermArgItem
> -
> -%type <n> OptionalAccessSize
> -%type <n> OptionalAddressingMode
> -%type <n> OptionalAddressRange
> -%type <n> OptionalBitsPerByte
> -%type <n> OptionalBuffer_Last
> -%type <n> OptionalByteConstExpr
> -%type <n> OptionalCount
> -%type <n> OptionalDataCount
> -%type <n> OptionalDecodeType
> -%type <n> OptionalDevicePolarity
> -%type <n> OptionalDWordConstExpr
> -%type <n> OptionalEndian
> -%type <n> OptionalFlowControl
> -%type <n> OptionalIoRestriction
> -%type <n> OptionalListString
> -%type <n> OptionalMaxType
> -%type <n> OptionalMemType
> -%type <n> OptionalMinType
> -%type <n> OptionalNameString
> -%type <n> OptionalNameString_First
> -%type <n> OptionalNameString_Last
> -%type <n> OptionalObjectTypeKeyword
> -%type <n> OptionalParameterTypePackage
> -%type <n> OptionalParameterTypesPackage
> -%type <n> OptionalParentheses
> -%type <n> OptionalParityType
> -%type <n> OptionalPredicate
> -%type <n> OptionalQWordConstExpr
> -%type <n> OptionalRangeType
> -%type <n> OptionalReference
> -%type <n> OptionalResourceType
> -%type <n> OptionalResourceType_First
> -%type <n> OptionalReturnArg
> -%type <n> OptionalSerializeRuleKeyword
> -%type <n> OptionalShareType
> -%type <n> OptionalShareType_First
> -%type <n> OptionalSlaveMode
> -%type <n> OptionalStopBits
> -%type <n> OptionalStringData
> -%type <n> OptionalTermArg
> -%type <n> OptionalTranslationType_Last
> -%type <n> OptionalType
> -%type <n> OptionalType_Last
> -%type <n> OptionalWireMode
> -%type <n> OptionalWordConst
> -%type <n> OptionalWordConstExpr
> -%type <n> OptionalXferSize
> -
> -/*
> - * ASL+ (C-style) parser
> - */
> -
> -/* Expressions and symbolic operators */
> -
> -%type <n> Expression
> -%type <n> EqualsTerm
> -%type <n> IndexExpTerm
> -
> -/* ASL+ Named object declaration support */
> -/*
> -%type <n> NameTermAslPlus
> -
> -%type <n> BufferBegin
> -%type <n> BufferEnd
> -%type <n> PackageBegin
> -%type <n> PackageEnd
> -%type <n> OptionalLength
> -*/
> -/* ASL+ Structure declarations */
> -/*
> -%type <n> StructureTerm
> -%type <n> StructureTermBegin
> -%type <n> StructureType
> -%type <n> StructureTag
> -%type <n> StructureElementList
> -%type <n> StructureElement
> -%type <n> StructureElementType
> -%type <n> OptionalStructureElementType
> -%type <n> StructureId
> -*/
> -/* Structure instantiantion */
> -/*
> -%type <n> StructureInstanceTerm
> -%type <n> StructureTagReference
> -%type <n> StructureInstanceEnd
> -*/
> -/* Pseudo-instantiantion for method Args/Locals */
> -/*
> -%type <n> MethodStructureTerm
> -%type <n> LocalStructureName
> -*/
> -/* Direct structure references via the Index operator */
> -/*
> -%type <n> StructureReference
> -%type <n> StructureIndexTerm
> -%type <n> StructurePointerTerm
> -%type <n> StructurePointerReference
> -%type <n> OptionalDefinePointer
> -*/
> -
> -%%
> -
> -/* Production rules */
> -
> -
> -
> -/*******************************************************************************
> - *
> - * ASL Root and Secondary Terms
> - *
> - ******************************************************************************/
> -
> -/*
> - * Root term. Allow multiple #line directives before the definition block
> - * to handle output from preprocessors
> - */
> -AslCode
> -    : DefinitionBlockList           {$<n>$ = TrLinkChildren (
> -                                        TrCreateLeafNode (PARSEOP_ASL_CODE),1, $1);}
> -    | error                         {YYABORT; $$ = NULL;}
> -    ;
> -
> -
> -/*
> - * Note concerning support for "module-level code".
> - *
> - * ACPI 1.0 allowed Type1 and Type2 executable opcodes outside of control
> - * methods (the so-called module-level code.) This support was explicitly
> - * removed in ACPI 2.0, but this type of code continues to be created by
> - * BIOS vendors. In order to support the disassembly and recompilation of
> - * such code (and the porting of ASL code to iASL), iASL supports this
> - * code in violation of the current ACPI specification.
> - *
> - * The grammar change to support module-level code is to revert the
> - * {ObjectList} portion of the DefinitionBlockTerm in ACPI 2.0 to the
> - * original use of {TermList} instead (see below.) This allows the use
> - * of Type1 and Type2 opcodes at module level.
> - *
> - * 04/2016: The module-level code is now allowed in the following terms:
> - * DeviceTerm, PowerResTerm, ProcessorTerm, ScopeTerm, ThermalZoneTerm.
> - * The ObjectList term is obsolete and has been removed.
> - */
> -DefinitionBlockTerm
> -    : PARSEOP_DEFINITION_BLOCK '('  {$<n>$ = TrCreateLeafNode (PARSEOP_DEFINITION_BLOCK);}
> -        String ','
> -        String ','
> -        ByteConst ','
> -        String ','
> -        String ','
> -        DWordConst
> -        ')'                         {TrSetEndLineNumber ($<n>3);}
> -            '{' TermList '}'        {$$ = TrLinkChildren ($<n>3,7,
> -                                        $4,$6,$8,$10,$12,$14,$18);}
> -    ;
> -
> -DefinitionBlockList
> -    : DefinitionBlockTerm
> -    | DefinitionBlockTerm
> -        DefinitionBlockList         {$$ = TrLinkPeerNodes (2, $1,$2);}
> -    ;
> -
> -/* Allow IO, DMA, IRQ Resource macro and FOR macro names to also be used as identifiers */
> -
> -NameString
> -    : NameSeg                       {}
> -    | PARSEOP_NAMESTRING            {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) $1);}
> -    | PARSEOP_IO                    {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IO");}
> -    | PARSEOP_DMA                   {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "DMA");}
> -    | PARSEOP_IRQ                   {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "IRQ");}
> -    | PARSEOP_FOR                   {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESTRING, (ACPI_NATIVE_INT) "FOR");}
> -    ;
> -/*
> -NameSeg
> -    : PARSEOP_NAMESEG               {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESEG, (ACPI_NATIVE_INT)
> -                                            TrNormalizeNameSeg ($1));}
> -    ;
> -*/
> -
> -NameSeg
> -    : PARSEOP_NAMESEG               {$$ = TrCreateValuedLeafNode (PARSEOP_NAMESEG,
> -                                            (ACPI_NATIVE_INT) AslCompilerlval.s);}
> -    ;
> -
> -
> -SuperName
> -    : NameString                    {}
> -    | ArgTerm                       {}
> -    | LocalTerm                     {}
> -    | DebugTerm                     {}
> -    | Type6Opcode                   {}
> -    ;
> -
> -Target
> -    :                               {$$ = TrCreateNullTarget ();} /* Placeholder is a ZeroOp object */
> -    | ','                           {$$ = TrCreateNullTarget ();} /* Placeholder is a ZeroOp object */
> -    | ',' SuperName                 {$$ = TrSetNodeFlags ($2, NODE_IS_TARGET);}
> -    ;
> -
> -TermArg
> -    : Type2Opcode                   {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
> -    | DataObject                    {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
> -    | NameString                    {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
> -    | ArgTerm                       {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
> -    | LocalTerm                     {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
> -
> -
> -    ;
> -
> -/*
> - NOTE: Removed from TermArg due to reduce/reduce conflicts:
> -    | Type2IntegerOpcode            {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
> -    | Type2StringOpcode             {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
> -    | Type2BufferOpcode             {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
> -    | Type2BufferOrStringOpcode     {$$ = TrSetNodeFlags ($1, NODE_IS_TERM_ARG);}
> -
> -*/
> -
> -MethodInvocationTerm
> -    : NameString '('                {TrUpdateNode (PARSEOP_METHODCALL, $1);}
> -        ArgList ')'                 {$$ = TrLinkChildNode ($1,$4);}
> -    ;
> -
> -/* OptionalCount must appear before ByteList or an incorrect reduction will result */
> -
> -OptionalCount
> -    :                               {$$ = TrCreateLeafNode (PARSEOP_ONES);}       /* Placeholder is a OnesOp object */
> -    | ','                           {$$ = TrCreateLeafNode (PARSEOP_ONES);}       /* Placeholder is a OnesOp object */
> -    | ',' TermArg                   {$$ = $2;}
> -    ;
> -
> -/*
> - * Data count for buffers and packages (byte count for buffers,
> - * element count for packages).
> - */
> -OptionalDataCount
> -
> -        /* Legacy ASL */
> -    :                               {$$ = NULL;}
> -    | '(' TermArg ')'               {$$ = $2;}
> -    | '('  ')'                      {$$ = NULL;}
> -
> -        /* C-style (ASL+) -- adds equals term */
> -
> -    |  PARSEOP_EXP_EQUALS           {$$ = NULL;}
> -
> -    | '(' TermArg ')'
> -        PARSEOP_EXP_EQUALS          {$$ = $2;}
> -
> -    | '('  ')' String
> -        PARSEOP_EXP_EQUALS          {$$ = NULL;}
> -    ;
> -
> -
> -/******* List Terms **************************************************/
> -
> -ArgList
> -    :                               {$$ = NULL;}
> -    | TermArg
> -    | ArgList ','                   /* Allows a trailing comma at list end */
> -    | ArgList ','
> -        TermArg                     {$$ = TrLinkPeerNode ($1,$3);}
> -    ;
> -
> -ByteList
> -    :                               {$$ = NULL;}
> -    | ByteConstExpr
> -    | ByteList ','                  /* Allows a trailing comma at list end */
> -    | ByteList ','
> -        ByteConstExpr               {$$ = TrLinkPeerNode ($1,$3);}
> -    ;
> -
> -DWordList
> -    :                               {$$ = NULL;}
> -    | DWordConstExpr
> -    | DWordList ','                 /* Allows a trailing comma at list end */
> -    | DWordList ','
> -        DWordConstExpr              {$$ = TrLinkPeerNode ($1,$3);}
> -    ;
> -
> -FieldUnitList
> -    :                               {$$ = NULL;}
> -    | FieldUnit
> -    | FieldUnitList ','             /* Allows a trailing comma at list end */
> -    | FieldUnitList ','
> -        FieldUnit                   {$$ = TrLinkPeerNode ($1,$3);}
> -    ;
> -
> -FieldUnit
> -    : FieldUnitEntry                {}
> -    | OffsetTerm                    {}
> -    | AccessAsTerm                  {}
> -    | ConnectionTerm                {}
> -    ;
> -
> -FieldUnitEntry
> -    : ',' AmlPackageLengthTerm      {$$ = TrCreateNode (PARSEOP_RESERVED_BYTES,1,$2);}
> -    | NameSeg ','
> -        AmlPackageLengthTerm        {$$ = TrLinkChildNode ($1,$3);}
> -    ;
> -
> -Object
> -    : CompilerDirective             {}
> -    | NamedObject                   {}
> -    | NameSpaceModifier             {}
> -//    | StructureTerm                 {}
> -    ;
> -
> -PackageList
> -    :                               {$$ = NULL;}
> -    | PackageElement
> -    | PackageList ','               /* Allows a trailing comma at list end */
> -    | PackageList ','
> -        PackageElement              {$$ = TrLinkPeerNode ($1,$3);}
> -    ;
> -
> -PackageElement
> -    : DataObject                    {}
> -    | NameString                    {}
> -    ;
> -
> -    /* Rules for specifying the type of one method argument or return value */
> -
> -ParameterTypePackage
> -    :                               {$$ = NULL;}
> -    | ObjectTypeKeyword             {$$ = $1;}
> -    | ParameterTypePackage ','
> -        ObjectTypeKeyword           {$$ = TrLinkPeerNodes (2,$1,$3);}
> -    ;
> -
> -ParameterTypePackageList
> -    :                               {$$ = NULL;}
> -    | ObjectTypeKeyword             {$$ = $1;}
> -    | '{' ParameterTypePackage '}'  {$$ = $2;}
> -    ;
> -
> -OptionalParameterTypePackage
> -    :                               {$$ = TrCreateLeafNode (PARSEOP_DEFAULT_ARG);}
> -    | ',' ParameterTypePackageList  {$$ = TrLinkChildren (
> -                                        TrCreateLeafNode (PARSEOP_DEFAULT_ARG),1,$2);}
> -    ;
> -
> -    /* Rules for specifying the types for method arguments */
> -
> -ParameterTypesPackage
> -    : ParameterTypePackageList      {$$ = $1;}
> -    | ParameterTypesPackage ','
> -        ParameterTypePackageList    {$$ = TrLinkPeerNodes (2,$1,$3);}
> -    ;
> -
> -ParameterTypesPackageList
> -    :                               {$$ = NULL;}
> -    | ObjectTypeKeyword             {$$ = $1;}
> -    | '{' ParameterTypesPackage '}' {$$ = $2;}
> -    ;
> -
> -OptionalParameterTypesPackage
> -    :                               {$$ = TrCreateLeafNode (PARSEOP_DEFAULT_ARG);}
> -    | ',' ParameterTypesPackageList {$$ = TrLinkChildren (
> -                                        TrCreateLeafNode (PARSEOP_DEFAULT_ARG),1,$2);}
> -    ;
> -
> -    /* ACPI 3.0 -- allow semicolons between terms */
> -
> -TermList
> -    :                               {$$ = NULL;}
> -    | TermList Term                 {$$ = TrLinkPeerNode (
> -                                        TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$2);}
> -    | TermList Term ';'             {$$ = TrLinkPeerNode (
> -                                        TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$2);}
> -    | TermList ';' Term             {$$ = TrLinkPeerNode (
> -                                        TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$3);}
> -    | TermList ';' Term ';'         {$$ = TrLinkPeerNode (
> -                                        TrSetNodeFlags ($1, NODE_RESULT_NOT_USED),$3);}
> -    ;
> -
> -Term
> -    : Object                        {}
> -    | Type1Opcode                   {}
> -    | Type2Opcode                   {}
> -    | Type2IntegerOpcode            {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | Type2StringOpcode             {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | Type2BufferOpcode             {}
> -    | Type2BufferOrStringOpcode     {}
> -    | error                         {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -/*
> - * Case-Default list; allow only one Default term and unlimited Case terms
> - */
> -CaseDefaultTermList
> -    :                               {$$ = NULL;}
> -    | CaseTerm  {}
> -    | DefaultTerm   {}
> -    | CaseDefaultTermList
> -        CaseTerm                    {$$ = TrLinkPeerNode ($1,$2);}
> -    | CaseDefaultTermList
> -        DefaultTerm                 {$$ = TrLinkPeerNode ($1,$2);}
> -
> -/* Original - attempts to force zero or one default term within the switch */
> -
> -/*
> -CaseDefaultTermList
> -    :                               {$$ = NULL;}
> -    | CaseTermList
> -        DefaultTerm
> -        CaseTermList                {$$ = TrLinkPeerNode ($1,TrLinkPeerNode ($2, $3));}
> -    | CaseTermList
> -        CaseTerm                    {$$ = TrLinkPeerNode ($1,$2);}
> -    ;
> -
> -CaseTermList
> -    :                               {$$ = NULL;}
> -    | CaseTerm                      {}
> -    | CaseTermList
> -        CaseTerm                    {$$ = TrLinkPeerNode ($1,$2);}
> -    ;
> -*/
> -
> -
> -/*******************************************************************************
> - *
> - * ASL Data and Constant Terms
> - *
> - ******************************************************************************/
> -
> -DataObject
> -    : BufferData                    {}
> -    | PackageData                   {}
> -    | IntegerData                   {}
> -    | StringData                    {}
> -    ;
> -
> -BufferData
> -    : Type5Opcode                   {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | Type2BufferOrStringOpcode     {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | Type2BufferOpcode             {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | BufferTerm                    {}
> -    ;
> -
> -PackageData
> -    : PackageTerm                   {}
> -    ;
> -
> -IntegerData
> -    : Type2IntegerOpcode            {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | Type3Opcode                   {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | Integer                       {}
> -    | ConstTerm                     {}
> -    ;
> -
> -StringData
> -    : Type2StringOpcode             {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | String                        {}
> -    ;
> -
> -ByteConst
> -    : Integer                       {$$ = TrUpdateNode (PARSEOP_BYTECONST, $1);}
> -    ;
> -
> -WordConst
> -    : Integer                       {$$ = TrUpdateNode (PARSEOP_WORDCONST, $1);}
> -    ;
> -
> -DWordConst
> -    : Integer                       {$$ = TrUpdateNode (PARSEOP_DWORDCONST, $1);}
> -    ;
> -
> -QWordConst
> -    : Integer                       {$$ = TrUpdateNode (PARSEOP_QWORDCONST, $1);}
> -    ;
> -
> -/*
> - * The NODE_COMPILE_TIME_CONST flag in the following constant expressions
> - * enables compile-time constant folding to reduce the Type3Opcodes/Type2IntegerOpcodes
> - * to simple integers. It is an error if these types of expressions cannot be
> - * reduced, since the AML grammar for ****ConstExpr requires a simple constant.
> - * Note: The required byte length of the constant is passed through to the
> - * constant folding code in the node AmlLength field.
> - */
> -ByteConstExpr
> -    : Type3Opcode                   {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);
> -                                        TrSetNodeAmlLength ($1, 1);}
> -    | Type2IntegerOpcode            {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);
> -                                        TrSetNodeAmlLength ($1, 1);}
> -    | ConstExprTerm                 {$$ = TrUpdateNode (PARSEOP_BYTECONST, $1);}
> -    | ByteConst                     {}
> -    ;
> -
> -WordConstExpr
> -    : Type3Opcode                   {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);
> -                                        TrSetNodeAmlLength ($1, 2);}
> -    | Type2IntegerOpcode            {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);
> -                                        TrSetNodeAmlLength ($1, 2);}
> -    | ConstExprTerm                 {$$ = TrUpdateNode (PARSEOP_WORDCONST, $1);}
> -    | WordConst                     {}
> -    ;
> -
> -DWordConstExpr
> -    : Type3Opcode                   {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);
> -                                        TrSetNodeAmlLength ($1, 4);}
> -    | Type2IntegerOpcode            {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);
> -                                        TrSetNodeAmlLength ($1, 4);}
> -    | ConstExprTerm                 {$$ = TrUpdateNode (PARSEOP_DWORDCONST, $1);}
> -    | DWordConst                    {}
> -    ;
> -
> -QWordConstExpr
> -    : Type3Opcode                   {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);
> -                                        TrSetNodeAmlLength ($1, 8);}
> -    | Type2IntegerOpcode            {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);
> -                                        TrSetNodeAmlLength ($1, 8);}
> -    | ConstExprTerm                 {$$ = TrUpdateNode (PARSEOP_QWORDCONST, $1);}
> -    | QWordConst                    {}
> -    ;
> -
> -ConstTerm
> -    : ConstExprTerm                 {}
> -    | PARSEOP_REVISION              {$$ = TrCreateLeafNode (PARSEOP_REVISION);}
> -    ;
> -
> -ConstExprTerm
> -    : PARSEOP_ZERO                  {$$ = TrCreateValuedLeafNode (PARSEOP_ZERO, 0);}
> -    | PARSEOP_ONE                   {$$ = TrCreateValuedLeafNode (PARSEOP_ONE, 1);}
> -    | PARSEOP_ONES                  {$$ = TrCreateValuedLeafNode (PARSEOP_ONES, ACPI_UINT64_MAX);}
> -    | PARSEOP___DATE__              {$$ = TrCreateConstantLeafNode (PARSEOP___DATE__);}
> -    | PARSEOP___FILE__              {$$ = TrCreateConstantLeafNode (PARSEOP___FILE__);}
> -    | PARSEOP___LINE__              {$$ = TrCreateConstantLeafNode (PARSEOP___LINE__);}
> -    | PARSEOP___PATH__              {$$ = TrCreateConstantLeafNode (PARSEOP___PATH__);}
> -    ;
> -
> -Integer
> -    : PARSEOP_INTEGER               {$$ = TrCreateValuedLeafNode (PARSEOP_INTEGER,
> -                                        AslCompilerlval.i);}
> -    ;
> -
> -String
> -    : PARSEOP_STRING_LITERAL        {$$ = TrCreateValuedLeafNode (PARSEOP_STRING_LITERAL,
> -                                        (ACPI_NATIVE_INT) AslCompilerlval.s);}
> -    ;
> -
> -
> -/*******************************************************************************
> - *
> - * ASL Opcode Terms
> - *
> - ******************************************************************************/
> -
> -CompilerDirective
> -    : IncludeTerm                   {}
> -    | IncludeEndTerm                {}
> -    | ExternalTerm                  {}
> -    ;
> -
> -NamedObject
> -    : BankFieldTerm                 {}
> -    | CreateBitFieldTerm            {}
> -    | CreateByteFieldTerm           {}
> -    | CreateDWordFieldTerm          {}
> -    | CreateFieldTerm               {}
> -    | CreateQWordFieldTerm          {}
> -    | CreateWordFieldTerm           {}
> -    | DataRegionTerm                {}
> -    | DeviceTerm                    {}
> -    | EventTerm                     {}
> -    | FieldTerm                     {}
> -    | FunctionTerm                  {}
> -    | IndexFieldTerm                {}
> -    | MethodTerm                    {}
> -    | MutexTerm                     {}
> -    | OpRegionTerm                  {}
> -    | PowerResTerm                  {}
> -    | ProcessorTerm                 {}
> -    | ThermalZoneTerm               {}
> -    ;
> -
> -NameSpaceModifier
> -    : AliasTerm                     {}
> -    | NameTerm                      {}
> -//    | NameTermAslPlus               {}
> -    | ScopeTerm                     {}
> -    ;
> -
> -/* For ObjectType: SuperName except for MethodInvocationTerm */
> -
> -ObjectTypeName
> -    : NameString                    {}
> -    | ArgTerm                       {}
> -    | LocalTerm                     {}
> -    | DebugTerm                     {}
> -    | RefOfTerm                     {}
> -    | DerefOfTerm                   {}
> -    | IndexTerm                     {}
> -
> -/*    | MethodInvocationTerm          {} */  /* Caused reduce/reduce with Type6Opcode->MethodInvocationTerm */
> -    ;
> -
> -RequiredTarget
> -    : ',' SuperName                 {$$ = TrSetNodeFlags ($2, NODE_IS_TARGET);}
> -    ;
> -
> -SimpleTarget
> -    : NameString                    {}
> -    | LocalTerm                     {}
> -    | ArgTerm                       {}
> -    ;
> -
> -/* Opcode types */
> -
> -Type1Opcode
> -    : BreakTerm                     {}
> -    | BreakPointTerm                {}
> -    | ContinueTerm                  {}
> -    | FatalTerm                     {}
> -    | ForTerm                       {}
> -    | ElseIfTerm                    {}
> -    | LoadTerm                      {}
> -    | NoOpTerm                      {}
> -    | NotifyTerm                    {}
> -    | ReleaseTerm                   {}
> -    | ResetTerm                     {}
> -    | ReturnTerm                    {}
> -    | SignalTerm                    {}
> -    | SleepTerm                     {}
> -    | StallTerm                     {}
> -    | SwitchTerm                    {}
> -    | UnloadTerm                    {}
> -    | WhileTerm                     {}
> -    ;
> -
> -Type2Opcode
> -    : AcquireTerm                   {}
> -    | CondRefOfTerm                 {}
> -    | CopyObjectTerm                {}
> -    | DerefOfTerm                   {}
> -    | ObjectTypeTerm                {}
> -    | RefOfTerm                     {}
> -    | SizeOfTerm                    {}
> -    | StoreTerm                     {}
> -    | EqualsTerm                    {}
> -    | TimerTerm                     {}
> -    | WaitTerm                      {}
> -    | MethodInvocationTerm          {}
> -    ;
> -
> -/*
> - * Type 3/4/5 opcodes
> - */
> -Type2IntegerOpcode                  /* "Type3" opcodes */
> -    : Expression                    {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | AddTerm                       {}
> -    | AndTerm                       {}
> -    | DecTerm                       {}
> -    | DivideTerm                    {}
> -    | FindSetLeftBitTerm            {}
> -    | FindSetRightBitTerm           {}
> -    | FromBCDTerm                   {}
> -    | IncTerm                       {}
> -    | IndexTerm                     {}
> -//    | StructureIndexTerm            {}
> -//    | StructurePointerTerm          {}
> -    | LAndTerm                      {}
> -    | LEqualTerm                    {}
> -    | LGreaterTerm                  {}
> -    | LGreaterEqualTerm             {}
> -    | LLessTerm                     {}
> -    | LLessEqualTerm                {}
> -    | LNotTerm                      {}
> -    | LNotEqualTerm                 {}
> -    | LoadTableTerm                 {}
> -    | LOrTerm                       {}
> -    | MatchTerm                     {}
> -    | ModTerm                       {}
> -    | MultiplyTerm                  {}
> -    | NAndTerm                      {}
> -    | NOrTerm                       {}
> -    | NotTerm                       {}
> -    | OrTerm                        {}
> -    | ShiftLeftTerm                 {}
> -    | ShiftRightTerm                {}
> -    | SubtractTerm                  {}
> -    | ToBCDTerm                     {}
> -    | ToIntegerTerm                 {}
> -    | XOrTerm                       {}
> -    ;
> -
> -Type2StringOpcode                   /* "Type4" Opcodes */
> -    : ToDecimalStringTerm           {}
> -    | ToHexStringTerm               {}
> -    | ToStringTerm                  {}
> -    ;
> -
> -Type2BufferOpcode                   /* "Type5" Opcodes */
> -    : ToBufferTerm                  {}
> -    | ConcatResTerm                 {}
> -    ;
> -
> -Type2BufferOrStringOpcode
> -    : ConcatTerm                    {$$ = TrSetNodeFlags ($1, NODE_COMPILE_TIME_CONST);}
> -    | PrintfTerm                    {}
> -    | FprintfTerm                   {}
> -    | MidTerm                       {}
> -    ;
> -
> -/*
> - * A type 3 opcode evaluates to an Integer and cannot have a destination operand
> - */
> -Type3Opcode
> -    : EISAIDTerm                    {}
> -    ;
> -
> -/* Obsolete
> -Type4Opcode
> -    : ConcatTerm                    {}
> -    | ToDecimalStringTerm           {}
> -    | ToHexStringTerm               {}
> -    | MidTerm                       {}
> -    | ToStringTerm                  {}
> -    ;
> -*/
> -
> -/* Type 5 opcodes are a subset of Type2 opcodes, and return a constant */
> -
> -Type5Opcode
> -    : ResourceTemplateTerm          {}
> -    | UnicodeTerm                   {}
> -    | ToPLDTerm                     {}
> -    | ToUUIDTerm                    {}
> -    ;
> -
> -Type6Opcode
> -    : RefOfTerm                     {}
> -    | DerefOfTerm                   {}
> -    | IndexTerm                     {}
> -    | IndexExpTerm                  {}
> -//    | StructureIndexTerm            {}
> -//    | StructurePointerTerm          {}
> -    | MethodInvocationTerm          {}
> -    ;
> -
> -
> -/*******************************************************************************
> - *
> - * ASL Helper Terms
> - *
> - ******************************************************************************/
> -
> -AmlPackageLengthTerm
> -    : Integer                       {$$ = TrUpdateNode (PARSEOP_PACKAGE_LENGTH,
> -                                        (ACPI_PARSE_OBJECT *) $1);}
> -    ;
> -
> -NameStringItem
> -    : ',' NameString                {$$ = $2;}
> -    | ',' error                     {$$ = AslDoError (); yyclearin;}
> -    ;
> -
> -TermArgItem
> -    : ',' TermArg                   {$$ = $2;}
> -    | ',' error                     {$$ = AslDoError (); yyclearin;}
> -    ;
> -
> -OptionalReference
> -    :                               {$$ = TrCreateLeafNode (PARSEOP_ZERO);}       /* Placeholder is a ZeroOp object */
> -    | ','                           {$$ = TrCreateLeafNode (PARSEOP_ZERO);}       /* Placeholder is a ZeroOp object */
> -    | ',' TermArg                   {$$ = $2;}
> -    ;
> -
> -OptionalReturnArg
> -    :                               {$$ = TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO),
> -                                            NODE_IS_NULL_RETURN);}       /* Placeholder is a ZeroOp object */
> -    | TermArg                       {$$ = $1;}
> -    ;
> -
> -OptionalSerializeRuleKeyword
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' SerializeRuleKeyword      {$$ = $2;}
> -    ;
> -
> -OptionalTermArg
> -    :                               {$$ = TrCreateLeafNode (PARSEOP_DEFAULT_ARG);}
> -    | TermArg                       {$$ = $1;}
> -    ;
> -
> -OptionalWordConst
> -    :                               {$$ = NULL;}
> -    | WordConst                     {$$ = $1;}
> -    ;
> -
> -
> -
> -
> -/*******************************************************************************
> - *
> - * ASL Primary Terms
> - *
> - ******************************************************************************/
> -
> -AccessAsTerm
> -    : PARSEOP_ACCESSAS '('
> -        AccessTypeKeyword
> -        OptionalAccessAttribTerm
> -        ')'                         {$$ = TrCreateNode (PARSEOP_ACCESSAS,2,$3,$4);}
> -    | PARSEOP_ACCESSAS '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -AcquireTerm
> -    : PARSEOP_ACQUIRE '('           {$<n>$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
> -        SuperName
> -        ',' WordConstExpr
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$6);}
> -    | PARSEOP_ACQUIRE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -AddTerm
> -    : PARSEOP_ADD '('               {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_ADD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -AliasTerm
> -    : PARSEOP_ALIAS '('             {$<n>$ = TrCreateLeafNode (PARSEOP_ALIAS);}
> -        NameString
> -        NameStringItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,
> -                                        TrSetNodeFlags ($5, NODE_IS_NAME_DECLARATION));}
> -    | PARSEOP_ALIAS '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -AndTerm
> -    : PARSEOP_AND '('               {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_AND '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ArgTerm
> -    : PARSEOP_ARG0                  {$$ = TrCreateLeafNode (PARSEOP_ARG0);}
> -    | PARSEOP_ARG1                  {$$ = TrCreateLeafNode (PARSEOP_ARG1);}
> -    | PARSEOP_ARG2                  {$$ = TrCreateLeafNode (PARSEOP_ARG2);}
> -    | PARSEOP_ARG3                  {$$ = TrCreateLeafNode (PARSEOP_ARG3);}
> -    | PARSEOP_ARG4                  {$$ = TrCreateLeafNode (PARSEOP_ARG4);}
> -    | PARSEOP_ARG5                  {$$ = TrCreateLeafNode (PARSEOP_ARG5);}
> -    | PARSEOP_ARG6                  {$$ = TrCreateLeafNode (PARSEOP_ARG6);}
> -    ;
> -
> -BankFieldTerm
> -    : PARSEOP_BANKFIELD '('         {$<n>$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
> -        NameString
> -        NameStringItem
> -        TermArgItem
> -        ',' AccessTypeKeyword
> -        ',' LockRuleKeyword
> -        ',' UpdateRuleKeyword
> -        ')' '{'
> -            FieldUnitList '}'       {$$ = TrLinkChildren ($<n>3,7,
> -                                        $4,$5,$6,$8,$10,$12,$15);}
> -    | PARSEOP_BANKFIELD '('
> -        error ')' '{' error '}'     {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -BreakTerm
> -    : PARSEOP_BREAK                 {$$ = TrCreateNode (PARSEOP_BREAK, 0);}
> -    ;
> -
> -BreakPointTerm
> -    : PARSEOP_BREAKPOINT            {$$ = TrCreateNode (PARSEOP_BREAKPOINT, 0);}
> -    ;
> -
> -BufferTerm
> -    : PARSEOP_BUFFER                {$<n>$ = TrCreateLeafNode (PARSEOP_BUFFER);}
> -        OptionalDataCount
> -        '{' BufferTermData '}'      {$$ = TrLinkChildren ($<n>2,2,$3,$5);}
> -    ;
> -
> -BufferTermData
> -    : ByteList                      {}
> -    | StringData                    {}
> -    ;
> -
> -CaseTerm
> -    : PARSEOP_CASE '('              {$<n>$ = TrCreateLeafNode (PARSEOP_CASE);}
> -        DataObject
> -        ')' '{'
> -            TermList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
> -    | PARSEOP_CASE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ConcatTerm
> -    : PARSEOP_CONCATENATE '('       {$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_CONCATENATE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ConcatResTerm
> -    : PARSEOP_CONCATENATERESTEMPLATE '(' {$<n>$ = TrCreateLeafNode (
> -                                            PARSEOP_CONCATENATERESTEMPLATE);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_CONCATENATERESTEMPLATE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ConnectionTerm
> -    : PARSEOP_CONNECTION '('
> -        NameString
> -        ')'                         {$$ = TrCreateNode (PARSEOP_CONNECTION,1,$3);}
> -    | PARSEOP_CONNECTION '('        {$<n>$ = TrCreateLeafNode (PARSEOP_CONNECTION);}
> -        ResourceMacroTerm
> -        ')'                         {$$ = TrLinkChildren ($<n>3, 1,
> -                                        TrLinkChildren (
> -                                            TrCreateLeafNode (PARSEOP_RESOURCETEMPLATE), 3,
> -                                            TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
> -                                            TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
> -                                            $4));}
> -    | PARSEOP_CONNECTION '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -CondRefOfTerm
> -    : PARSEOP_CONDREFOF '('         {$<n>$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
> -        SuperName
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_CONDREFOF '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ContinueTerm
> -    : PARSEOP_CONTINUE              {$$ = TrCreateNode (PARSEOP_CONTINUE, 0);}
> -    ;
> -
> -CopyObjectTerm
> -    : PARSEOP_COPYOBJECT '('        {$<n>$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
> -        TermArg
> -        ',' SimpleTarget
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,
> -                                        TrSetNodeFlags ($6, NODE_IS_TARGET));}
> -    | PARSEOP_COPYOBJECT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -CreateBitFieldTerm
> -    : PARSEOP_CREATEBITFIELD '('    {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
> -        TermArg
> -        TermArgItem
> -        NameStringItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
> -                                        TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
> -    | PARSEOP_CREATEBITFIELD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -CreateByteFieldTerm
> -    : PARSEOP_CREATEBYTEFIELD '('   {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
> -        TermArg
> -        TermArgItem
> -        NameStringItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
> -                                        TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
> -    | PARSEOP_CREATEBYTEFIELD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -CreateDWordFieldTerm
> -    : PARSEOP_CREATEDWORDFIELD '('  {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
> -        TermArg
> -        TermArgItem
> -        NameStringItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
> -                                        TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
> -    | PARSEOP_CREATEDWORDFIELD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -CreateFieldTerm
> -    : PARSEOP_CREATEFIELD '('       {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
> -        TermArg
> -        TermArgItem
> -        TermArgItem
> -        NameStringItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,
> -                                        TrSetNodeFlags ($7, NODE_IS_NAME_DECLARATION));}
> -    | PARSEOP_CREATEFIELD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -CreateQWordFieldTerm
> -    : PARSEOP_CREATEQWORDFIELD '('  {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
> -        TermArg
> -        TermArgItem
> -        NameStringItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
> -                                        TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
> -    | PARSEOP_CREATEQWORDFIELD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -CreateWordFieldTerm
> -    : PARSEOP_CREATEWORDFIELD '('   {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
> -        TermArg
> -        TermArgItem
> -        NameStringItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,
> -                                        TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
> -    | PARSEOP_CREATEWORDFIELD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -DataRegionTerm
> -    : PARSEOP_DATATABLEREGION '('   {$<n>$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
> -        NameString
> -        TermArgItem
> -        TermArgItem
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,4,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$5,$6,$7);}
> -    | PARSEOP_DATATABLEREGION '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -DebugTerm
> -    : PARSEOP_DEBUG                 {$$ = TrCreateLeafNode (PARSEOP_DEBUG);}
> -    ;
> -
> -DecTerm
> -    : PARSEOP_DECREMENT '('         {$<n>$ = TrCreateLeafNode (PARSEOP_DECREMENT);}
> -        SuperName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_DECREMENT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -DefaultTerm
> -    : PARSEOP_DEFAULT '{'           {$<n>$ = TrCreateLeafNode (PARSEOP_DEFAULT);}
> -        TermList '}'                {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_DEFAULT '{'
> -        error '}'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -DerefOfTerm
> -    : PARSEOP_DEREFOF '('           {$<n>$ = TrCreateLeafNode (PARSEOP_DEREFOF);}
> -        TermArg
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_DEREFOF '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -DeviceTerm
> -    : PARSEOP_DEVICE '('            {$<n>$ = TrCreateLeafNode (PARSEOP_DEVICE);}
> -        NameString
> -        ')' '{'
> -            TermList '}'            {$$ = TrLinkChildren ($<n>3,2,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
> -    | PARSEOP_DEVICE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -DivideTerm
> -    : PARSEOP_DIVIDE '('            {$<n>$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
> -    | PARSEOP_DIVIDE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -EISAIDTerm
> -    : PARSEOP_EISAID '('
> -        StringData ')'              {$$ = TrUpdateNode (PARSEOP_EISAID, $3);}
> -    | PARSEOP_EISAID '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ElseIfTerm
> -    : IfTerm ElseTerm               {$$ = TrLinkPeerNode ($1,$2);}
> -    ;
> -
> -ElseTerm
> -    :                               {$$ = NULL;}
> -    | PARSEOP_ELSE '{'              {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
> -        TermList '}'                {$$ = TrLinkChildren ($<n>3,1,$4);}
> -
> -    | PARSEOP_ELSE '{'
> -        error '}'                   {$$ = AslDoError(); yyclearin;}
> -
> -    | PARSEOP_ELSE
> -        error                       {$$ = AslDoError(); yyclearin;}
> -
> -    | PARSEOP_ELSEIF '('            {$<n>$ = TrCreateLeafNode (PARSEOP_ELSE);}
> -        TermArg                     {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
> -        ')' '{'
> -            TermList '}'            {TrLinkChildren ($<n>5,2,$4,$8);}
> -        ElseTerm                    {TrLinkPeerNode ($<n>5,$11);}
> -                                    {$$ = TrLinkChildren ($<n>3,1,$<n>5);}
> -
> -    | PARSEOP_ELSEIF '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -
> -    | PARSEOP_ELSEIF
> -        error                       {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -EventTerm
> -    : PARSEOP_EVENT '('             {$<n>$ = TrCreateLeafNode (PARSEOP_EVENT);}
> -        NameString
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION));}
> -    | PARSEOP_EVENT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ExternalTerm
> -    : PARSEOP_EXTERNAL '('
> -        NameString
> -        OptionalObjectTypeKeyword
> -        OptionalParameterTypePackage
> -        OptionalParameterTypesPackage
> -        ')'                         {$$ = TrCreateNode (PARSEOP_EXTERNAL,4,$3,$4,$5,$6);}
> -    | PARSEOP_EXTERNAL '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -FatalTerm
> -    : PARSEOP_FATAL '('             {$<n>$ = TrCreateLeafNode (PARSEOP_FATAL);}
> -        ByteConstExpr
> -        ',' DWordConstExpr
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
> -    | PARSEOP_FATAL '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -FieldTerm
> -    : PARSEOP_FIELD '('             {$<n>$ = TrCreateLeafNode (PARSEOP_FIELD);}
> -        NameString
> -        ',' AccessTypeKeyword
> -        ',' LockRuleKeyword
> -        ',' UpdateRuleKeyword
> -        ')' '{'
> -            FieldUnitList '}'       {$$ = TrLinkChildren ($<n>3,5,$4,$6,$8,$10,$13);}
> -    | PARSEOP_FIELD '('
> -        error ')' '{' error '}'     {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -FindSetLeftBitTerm
> -    : PARSEOP_FINDSETLEFTBIT '('    {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETLEFTBIT);}
> -        TermArg
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_FINDSETLEFTBIT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -FindSetRightBitTerm
> -    : PARSEOP_FINDSETRIGHTBIT '('   {$<n>$ = TrCreateLeafNode (PARSEOP_FINDSETRIGHTBIT);}
> -        TermArg
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_FINDSETRIGHTBIT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -    /* Convert a For() loop to a While() loop */
> -ForTerm
> -    : PARSEOP_FOR '('               {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
> -        OptionalTermArg ','         {}
> -        OptionalPredicate ','
> -        OptionalTermArg             {$<n>$ = TrLinkPeerNode ($4,$<n>3);
> -                                        TrSetParent ($9,$<n>3);}                /* New parent is WHILE */
> -        ')' '{' TermList '}'        {$<n>$ = TrLinkChildren ($<n>3,2,$7,$13);}
> -                                    {$<n>$ = TrLinkPeerNode ($13,$9);
> -                                        $$ = $<n>10;}
> -    ;
> -
> -OptionalPredicate
> -    :                               {$$ = TrCreateValuedLeafNode (PARSEOP_INTEGER, 1);}
> -    | TermArg                       {$$ = $1;}
> -    ;
> -
> -FprintfTerm
> -    : PARSEOP_FPRINTF '('            {$<n>$ = TrCreateLeafNode (PARSEOP_FPRINTF);}
> -        TermArg ','
> -        StringData
> -        PrintfArgList
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
> -    | PARSEOP_FPRINTF '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -FromBCDTerm
> -    : PARSEOP_FROMBCD '('           {$<n>$ = TrCreateLeafNode (PARSEOP_FROMBCD);}
> -        TermArg
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_FROMBCD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -FunctionTerm
> -    : PARSEOP_FUNCTION '('          {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
> -        NameString
> -        OptionalParameterTypePackage
> -        OptionalParameterTypesPackage
> -        ')' '{'
> -            TermList '}'            {$$ = TrLinkChildren ($<n>3,7,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
> -                                        TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),
> -                                        TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL),
> -                                        TrCreateValuedLeafNode (PARSEOP_BYTECONST, 0),$5,$6,$9);}
> -    | PARSEOP_FUNCTION '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -IfTerm
> -    : PARSEOP_IF '('                {$<n>$ = TrCreateLeafNode (PARSEOP_IF);}
> -        TermArg
> -        ')' '{'
> -            TermList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
> -
> -    | PARSEOP_IF '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -IncludeTerm
> -    : PARSEOP_INCLUDE '('
> -        String  ')'                 {$$ = TrUpdateNode (PARSEOP_INCLUDE, $3);
> -                                        FlOpenIncludeFile ($3);}
> -    ;
> -
> -IncludeEndTerm
> -    : PARSEOP_INCLUDE_END           {$<n>$ = TrCreateLeafNode (PARSEOP_INCLUDE_END);
> -                                        TrSetCurrentFilename ($$);}
> -    ;
> -
> -IncTerm
> -    : PARSEOP_INCREMENT '('         {$<n>$ = TrCreateLeafNode (PARSEOP_INCREMENT);}
> -        SuperName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_INCREMENT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -IndexFieldTerm
> -    : PARSEOP_INDEXFIELD '('        {$<n>$ = TrCreateLeafNode (PARSEOP_INDEXFIELD);}
> -        NameString
> -        NameStringItem
> -        ',' AccessTypeKeyword
> -        ',' LockRuleKeyword
> -        ',' UpdateRuleKeyword
> -        ')' '{'
> -            FieldUnitList '}'       {$$ = TrLinkChildren ($<n>3,6,$4,$5,$7,$9,$11,$14);}
> -    | PARSEOP_INDEXFIELD '('
> -        error ')' '{' error '}'     {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -IndexTerm
> -    : PARSEOP_INDEX '('             {$<n>$ = TrCreateLeafNode (PARSEOP_INDEX);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_INDEX '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LAndTerm
> -    : PARSEOP_LAND '('              {$<n>$ = TrCreateLeafNode (PARSEOP_LAND);}
> -        TermArg
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_LAND '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LEqualTerm
> -    : PARSEOP_LEQUAL '('            {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
> -        TermArg
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_LEQUAL '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LGreaterEqualTerm
> -    : PARSEOP_LGREATEREQUAL '('     {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
> -        TermArg
> -        TermArgItem
> -        ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1,
> -                                        TrLinkChildren ($<n>3,2,$4,$5));}
> -    | PARSEOP_LGREATEREQUAL '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LGreaterTerm
> -    : PARSEOP_LGREATER '('          {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
> -        TermArg
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_LGREATER '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LLessEqualTerm
> -    : PARSEOP_LLESSEQUAL '('        {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
> -        TermArg
> -        TermArgItem
> -        ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1,
> -                                        TrLinkChildren ($<n>3,2,$4,$5));}
> -    | PARSEOP_LLESSEQUAL '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LLessTerm
> -    : PARSEOP_LLESS '('             {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
> -        TermArg
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_LLESS '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LNotEqualTerm
> -    : PARSEOP_LNOTEQUAL '('         {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
> -        TermArg
> -        TermArgItem
> -        ')'                         {$$ = TrCreateNode (PARSEOP_LNOT, 1,
> -                                        TrLinkChildren ($<n>3,2,$4,$5));}
> -    | PARSEOP_LNOTEQUAL '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LNotTerm
> -    : PARSEOP_LNOT '('              {$<n>$ = TrCreateLeafNode (PARSEOP_LNOT);}
> -        TermArg
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_LNOT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LoadTableTerm
> -    : PARSEOP_LOADTABLE '('         {$<n>$ = TrCreateLeafNode (PARSEOP_LOADTABLE);}
> -        TermArg
> -        TermArgItem
> -        TermArgItem
> -        OptionalListString
> -        OptionalListString
> -        OptionalReference
> -        ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$5,$6,$7,$8,$9);}
> -    | PARSEOP_LOADTABLE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LoadTerm
> -    : PARSEOP_LOAD '('              {$<n>$ = TrCreateLeafNode (PARSEOP_LOAD);}
> -        NameString
> -        RequiredTarget
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_LOAD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -LocalTerm
> -    : PARSEOP_LOCAL0                {$$ = TrCreateLeafNode (PARSEOP_LOCAL0);}
> -    | PARSEOP_LOCAL1                {$$ = TrCreateLeafNode (PARSEOP_LOCAL1);}
> -    | PARSEOP_LOCAL2                {$$ = TrCreateLeafNode (PARSEOP_LOCAL2);}
> -    | PARSEOP_LOCAL3                {$$ = TrCreateLeafNode (PARSEOP_LOCAL3);}
> -    | PARSEOP_LOCAL4                {$$ = TrCreateLeafNode (PARSEOP_LOCAL4);}
> -    | PARSEOP_LOCAL5                {$$ = TrCreateLeafNode (PARSEOP_LOCAL5);}
> -    | PARSEOP_LOCAL6                {$$ = TrCreateLeafNode (PARSEOP_LOCAL6);}
> -    | PARSEOP_LOCAL7                {$$ = TrCreateLeafNode (PARSEOP_LOCAL7);}
> -    ;
> -
> -LOrTerm
> -    : PARSEOP_LOR '('               {$<n>$ = TrCreateLeafNode (PARSEOP_LOR);}
> -        TermArg
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_LOR '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -MatchTerm
> -    : PARSEOP_MATCH '('             {$<n>$ = TrCreateLeafNode (PARSEOP_MATCH);}
> -        TermArg
> -        ',' MatchOpKeyword
> -        TermArgItem
> -        ',' MatchOpKeyword
> -        TermArgItem
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$7,$9,$10,$11);}
> -    | PARSEOP_MATCH '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -MethodTerm
> -    : PARSEOP_METHOD  '('           {$<n>$ = TrCreateLeafNode (PARSEOP_METHOD);}
> -        NameString
> -        OptionalByteConstExpr       {UtCheckIntegerRange ($5, 0, 7);}
> -        OptionalSerializeRuleKeyword
> -        OptionalByteConstExpr
> -        OptionalParameterTypePackage
> -        OptionalParameterTypesPackage
> -        ')' '{'
> -            TermList '}'            {$$ = TrLinkChildren ($<n>3,7,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
> -                                        $5,$7,$8,$9,$10,$13);}
> -    | PARSEOP_METHOD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -MidTerm
> -    : PARSEOP_MID '('               {$<n>$ = TrCreateLeafNode (PARSEOP_MID);}
> -        TermArg
> -        TermArgItem
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,$7);}
> -    | PARSEOP_MID '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ModTerm
> -    : PARSEOP_MOD '('               {$<n>$ = TrCreateLeafNode (PARSEOP_MOD);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_MOD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -MultiplyTerm
> -    : PARSEOP_MULTIPLY '('          {$<n>$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_MULTIPLY '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -MutexTerm
> -    : PARSEOP_MUTEX '('             {$<n>$ = TrCreateLeafNode (PARSEOP_MUTEX);}
> -        NameString
> -        ',' ByteConstExpr
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
> -    | PARSEOP_MUTEX '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -NameTerm
> -    : PARSEOP_NAME '('              {$<n>$ = TrCreateLeafNode (PARSEOP_NAME);}
> -        NameString
> -        ',' DataObject
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$6);}
> -    | PARSEOP_NAME '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -NAndTerm
> -    : PARSEOP_NAND '('              {$<n>$ = TrCreateLeafNode (PARSEOP_NAND);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_NAND '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -NoOpTerm
> -    : PARSEOP_NOOP                  {$$ = TrCreateNode (PARSEOP_NOOP, 0);}
> -    ;
> -
> -NOrTerm
> -    : PARSEOP_NOR '('               {$<n>$ = TrCreateLeafNode (PARSEOP_NOR);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_NOR '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -NotifyTerm
> -    : PARSEOP_NOTIFY '('            {$<n>$ = TrCreateLeafNode (PARSEOP_NOTIFY);}
> -        SuperName
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_NOTIFY '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -NotTerm
> -    : PARSEOP_NOT '('               {$<n>$ = TrCreateLeafNode (PARSEOP_NOT);}
> -        TermArg
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_NOT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ObjectTypeTerm
> -    : PARSEOP_OBJECTTYPE '('        {$<n>$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE);}
> -        ObjectTypeName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_OBJECTTYPE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -OffsetTerm
> -    : PARSEOP_OFFSET '('
> -        AmlPackageLengthTerm
> -        ')'                         {$$ = TrCreateNode (PARSEOP_OFFSET,1,$3);}
> -    | PARSEOP_OFFSET '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -OpRegionTerm
> -    : PARSEOP_OPERATIONREGION '('   {$<n>$ = TrCreateLeafNode (PARSEOP_OPERATIONREGION);}
> -        NameString
> -        ',' OpRegionSpaceIdTerm
> -        TermArgItem
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,4,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
> -                                        $6,$7,$8);}
> -    | PARSEOP_OPERATIONREGION '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -OpRegionSpaceIdTerm
> -    : RegionSpaceKeyword            {}
> -    | ByteConst                     {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);}
> -    ;
> -
> -OrTerm
> -    : PARSEOP_OR '('                {$<n>$ = TrCreateLeafNode (PARSEOP_OR);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_OR '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -PackageTerm
> -    : PARSEOP_PACKAGE               {$<n>$ = TrCreateLeafNode (PARSEOP_VAR_PACKAGE);}
> -        OptionalDataCount
> -        '{' PackageList '}'         {$$ = TrLinkChildren ($<n>2,2,$3,$5);}
> -
> -PowerResTerm
> -    : PARSEOP_POWERRESOURCE '('     {$<n>$ = TrCreateLeafNode (PARSEOP_POWERRESOURCE);}
> -        NameString
> -        ',' ByteConstExpr
> -        ',' WordConstExpr
> -        ')' '{'
> -            TermList '}'            {$$ = TrLinkChildren ($<n>3,4,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
> -                                        $6,$8,$11);}
> -    | PARSEOP_POWERRESOURCE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -PrintfTerm
> -    : PARSEOP_PRINTF '('            {$<n>$ = TrCreateLeafNode (PARSEOP_PRINTF);}
> -        StringData
> -        PrintfArgList
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_PRINTF '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -PrintfArgList
> -    :                               {$$ = NULL;}
> -    | TermArg                       {$$ = $1;}
> -    | PrintfArgList ','
> -       TermArg                      {$$ = TrLinkPeerNode ($1, $3);}
> -    ;
> -
> -ProcessorTerm
> -    : PARSEOP_PROCESSOR '('         {$<n>$ = TrCreateLeafNode (PARSEOP_PROCESSOR);}
> -        NameString
> -        ',' ByteConstExpr
> -        OptionalDWordConstExpr
> -        OptionalByteConstExpr
> -        ')' '{'
> -            TermList '}'            {$$ = TrLinkChildren ($<n>3,5,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),
> -                                        $6,$7,$8,$11);}
> -    | PARSEOP_PROCESSOR '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -RawDataBufferTerm
> -    : PARSEOP_DATABUFFER  '('       {$<n>$ = TrCreateLeafNode (PARSEOP_DATABUFFER);}
> -        OptionalWordConst
> -        ')' '{'
> -            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
> -    | PARSEOP_DATABUFFER '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -/*
> - * In RefOf, the node isn't really a target, but we can't keep track of it after
> - * we've taken a pointer to it. (hard to tell if a local becomes initialized this way.)
> - */
> -RefOfTerm
> -    : PARSEOP_REFOF '('             {$<n>$ = TrCreateLeafNode (PARSEOP_REFOF);}
> -        SuperName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,
> -                                        TrSetNodeFlags ($4, NODE_IS_TARGET));}
> -    | PARSEOP_REFOF '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ReleaseTerm
> -    : PARSEOP_RELEASE '('           {$<n>$ = TrCreateLeafNode (PARSEOP_RELEASE);}
> -        SuperName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_RELEASE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ResetTerm
> -    : PARSEOP_RESET '('             {$<n>$ = TrCreateLeafNode (PARSEOP_RESET);}
> -        SuperName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_RESET '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ReturnTerm
> -    : PARSEOP_RETURN '('            {$<n>$ = TrCreateLeafNode (PARSEOP_RETURN);}
> -        OptionalReturnArg
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_RETURN                {$$ = TrLinkChildren (
> -                                        TrCreateLeafNode (PARSEOP_RETURN),1,
> -                                        TrSetNodeFlags (TrCreateLeafNode (PARSEOP_ZERO),
> -                                            NODE_IS_NULL_RETURN));}
> -    | PARSEOP_RETURN '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ScopeTerm
> -    : PARSEOP_SCOPE '('             {$<n>$ = TrCreateLeafNode (PARSEOP_SCOPE);}
> -        NameString
> -        ')' '{'
> -            TermList '}'            {$$ = TrLinkChildren ($<n>3,2,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
> -    | PARSEOP_SCOPE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ShiftLeftTerm
> -    : PARSEOP_SHIFTLEFT '('         {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_SHIFTLEFT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ShiftRightTerm
> -    : PARSEOP_SHIFTRIGHT '('        {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_SHIFTRIGHT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -SignalTerm
> -    : PARSEOP_SIGNAL '('            {$<n>$ = TrCreateLeafNode (PARSEOP_SIGNAL);}
> -        SuperName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_SIGNAL '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -SizeOfTerm
> -    : PARSEOP_SIZEOF '('            {$<n>$ = TrCreateLeafNode (PARSEOP_SIZEOF);}
> -        SuperName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_SIZEOF '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -SleepTerm
> -    : PARSEOP_SLEEP '('             {$<n>$ = TrCreateLeafNode (PARSEOP_SLEEP);}
> -        TermArg
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_SLEEP '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -StallTerm
> -    : PARSEOP_STALL '('             {$<n>$ = TrCreateLeafNode (PARSEOP_STALL);}
> -        TermArg
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_STALL '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -StoreTerm
> -    : PARSEOP_STORE '('             {$<n>$ = TrCreateLeafNode (PARSEOP_STORE);}
> -        TermArg
> -        ',' SuperName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,
> -                                        TrSetNodeFlags ($6, NODE_IS_TARGET));}
> -    | PARSEOP_STORE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -SubtractTerm
> -    : PARSEOP_SUBTRACT '('          {$<n>$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_SUBTRACT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -SwitchTerm
> -    : PARSEOP_SWITCH '('            {$<n>$ = TrCreateLeafNode (PARSEOP_SWITCH);}
> -        TermArg
> -        ')' '{'
> -            CaseDefaultTermList '}'
> -                                    {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
> -    | PARSEOP_SWITCH '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ThermalZoneTerm
> -    : PARSEOP_THERMALZONE '('       {$<n>$ = TrCreateLeafNode (PARSEOP_THERMALZONE);}
> -        NameString
> -        ')' '{'
> -            TermList '}'            {$$ = TrLinkChildren ($<n>3,2,
> -                                        TrSetNodeFlags ($4, NODE_IS_NAME_DECLARATION),$7);}
> -    | PARSEOP_THERMALZONE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -TimerTerm
> -    : PARSEOP_TIMER '('             {$<n>$ = TrCreateLeafNode (PARSEOP_TIMER);}
> -        ')'                         {$$ = TrLinkChildren ($<n>3,0);}
> -    | PARSEOP_TIMER                 {$$ = TrLinkChildren (
> -                                        TrCreateLeafNode (PARSEOP_TIMER),0);}
> -    | PARSEOP_TIMER '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ToBCDTerm
> -    : PARSEOP_TOBCD '('             {$<n>$ = TrCreateLeafNode (PARSEOP_TOBCD);}
> -        TermArg
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_TOBCD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ToBufferTerm
> -    : PARSEOP_TOBUFFER '('          {$<n>$ = TrCreateLeafNode (PARSEOP_TOBUFFER);}
> -        TermArg
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_TOBUFFER '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ToDecimalStringTerm
> -    : PARSEOP_TODECIMALSTRING '('   {$<n>$ = TrCreateLeafNode (PARSEOP_TODECIMALSTRING);}
> -        TermArg
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_TODECIMALSTRING '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ToHexStringTerm
> -    : PARSEOP_TOHEXSTRING '('       {$<n>$ = TrCreateLeafNode (PARSEOP_TOHEXSTRING);}
> -        TermArg
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_TOHEXSTRING '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ToIntegerTerm
> -    : PARSEOP_TOINTEGER '('         {$<n>$ = TrCreateLeafNode (PARSEOP_TOINTEGER);}
> -        TermArg
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_TOINTEGER '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ToPLDTerm
> -    : PARSEOP_TOPLD '('             {$<n>$ = TrCreateLeafNode (PARSEOP_TOPLD);}
> -        PldKeywordList
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_TOPLD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -PldKeywordList
> -    :                               {$$ = NULL;}
> -    | PldKeyword
> -        PARSEOP_EXP_EQUALS Integer  {$$ = TrLinkChildren ($1,1,$3);}
> -    | PldKeyword
> -        PARSEOP_EXP_EQUALS String   {$$ = TrLinkChildren ($1,1,$3);}
> -    | PldKeywordList ','            /* Allows a trailing comma at list end */
> -    | PldKeywordList ','
> -        PldKeyword
> -        PARSEOP_EXP_EQUALS Integer  {$$ = TrLinkPeerNode ($1,TrLinkChildren ($3,1,$5));}
> -    | PldKeywordList ','
> -        PldKeyword
> -        PARSEOP_EXP_EQUALS String   {$$ = TrLinkPeerNode ($1,TrLinkChildren ($3,1,$5));}
> -    ;
> -
> -
> -ToStringTerm
> -    : PARSEOP_TOSTRING '('          {$<n>$ = TrCreateLeafNode (PARSEOP_TOSTRING);}
> -        TermArg
> -        OptionalCount
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_TOSTRING '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ToUUIDTerm
> -    : PARSEOP_TOUUID '('
> -        StringData ')'              {$$ = TrUpdateNode (PARSEOP_TOUUID, $3);}
> -    | PARSEOP_TOUUID '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -UnicodeTerm
> -    : PARSEOP_UNICODE '('           {$<n>$ = TrCreateLeafNode (PARSEOP_UNICODE);}
> -        StringData
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,0,$4);}
> -    | PARSEOP_UNICODE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -UnloadTerm
> -    : PARSEOP_UNLOAD '('            {$<n>$ = TrCreateLeafNode (PARSEOP_UNLOAD);}
> -        SuperName
> -        ')'                         {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_UNLOAD '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -WaitTerm
> -    : PARSEOP_WAIT '('              {$<n>$ = TrCreateLeafNode (PARSEOP_WAIT);}
> -        SuperName
> -        TermArgItem
> -        ')'                         {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
> -    | PARSEOP_WAIT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -XOrTerm
> -    : PARSEOP_XOR '('               {$<n>$ = TrCreateLeafNode (PARSEOP_XOR);}
> -        TermArg
> -        TermArgItem
> -        Target
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
> -    | PARSEOP_XOR '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -WhileTerm
> -    : PARSEOP_WHILE '('             {$<n>$ = TrCreateLeafNode (PARSEOP_WHILE);}
> -        TermArg
> -        ')' '{' TermList '}'
> -                                    {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
> -    | PARSEOP_WHILE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -
> -
> -/*******************************************************************************
> - *
> - * Production rules for the symbolic (c-style) operators
> - *
> - ******************************************************************************/
> -
> -/*
> - * ASL Extensions: C-style math/logical operators and expressions.
> - * The implementation transforms these operators into the standard
> - * AML opcodes and syntax.
> - *
> - * Supported operators and precedence rules (high-to-low)
> - *
> - * NOTE: The operator precedence and associativity rules are
> - * implemented by the tokens in asltokens.y
> - *
> - * (left-to-right):
> - *  1)      ( ) expr++ expr--
> - *
> - * (right-to-left):
> - *  2)      ! ~
> - *
> - * (left-to-right):
> - *  3)      *   /   %
> - *  4)      +   -
> - *  5)      >>  <<
> - *  6)      <   >   <=  >=
> - *  7)      ==  !=
> - *  8)      &
> - *  9)      ^
> - *  10)     |
> - *  11)     &&
> - *  12)     ||
> - *
> - * (right-to-left):
> - *  13)     = += -= *= /= %= <<= >>= &= ^= |=
> - */
> -
> -
> -/*******************************************************************************
> - *
> - * Basic operations for math and logical expressions.
> - *
> - ******************************************************************************/
> -
> -Expression
> -
> -    /* Unary operators */
> -
> -    : PARSEOP_EXP_LOGICAL_NOT           {$<n>$ = TrCreateLeafNode (PARSEOP_LNOT);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>2,1,$3);}
> -    | PARSEOP_EXP_NOT                   {$<n>$ = TrCreateLeafNode (PARSEOP_NOT);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>2,2,$3,TrCreateNullTarget ());}
> -
> -    | SuperName PARSEOP_EXP_INCREMENT   {$<n>$ = TrCreateLeafNode (PARSEOP_INCREMENT);}
> -                                        {$$ = TrLinkChildren ($<n>3,1,$1);}
> -    | SuperName PARSEOP_EXP_DECREMENT   {$<n>$ = TrCreateLeafNode (PARSEOP_DECREMENT);}
> -                                        {$$ = TrLinkChildren ($<n>3,1,$1);}
> -
> -    /* Binary operators: math and logical */
> -
> -    | TermArg PARSEOP_EXP_ADD           {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,TrCreateNullTarget ());}
> -    | TermArg PARSEOP_EXP_DIVIDE        {$<n>$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,4,$1,$4,TrCreateNullTarget (),
> -                                            TrCreateNullTarget ());}
> -    | TermArg PARSEOP_EXP_MODULO        {$<n>$ = TrCreateLeafNode (PARSEOP_MOD);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,TrCreateNullTarget ());}
> -    | TermArg PARSEOP_EXP_MULTIPLY      {$<n>$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,TrCreateNullTarget ());}
> -    | TermArg PARSEOP_EXP_SHIFT_LEFT    {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,TrCreateNullTarget ());}
> -    | TermArg PARSEOP_EXP_SHIFT_RIGHT   {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,TrCreateNullTarget ());}
> -    | TermArg PARSEOP_EXP_SUBTRACT      {$<n>$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,TrCreateNullTarget ());}
> -
> -    | TermArg PARSEOP_EXP_AND           {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,TrCreateNullTarget ());}
> -    | TermArg PARSEOP_EXP_OR            {$<n>$ = TrCreateLeafNode (PARSEOP_OR);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,TrCreateNullTarget ());}
> -    | TermArg PARSEOP_EXP_XOR           {$<n>$ = TrCreateLeafNode (PARSEOP_XOR);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,TrCreateNullTarget ());}
> -
> -    | TermArg PARSEOP_EXP_GREATER       {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATER);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,2,$1,$4);}
> -    | TermArg PARSEOP_EXP_GREATER_EQUAL {$<n>$ = TrCreateLeafNode (PARSEOP_LGREATEREQUAL);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,2,$1,$4);}
> -    | TermArg PARSEOP_EXP_LESS          {$<n>$ = TrCreateLeafNode (PARSEOP_LLESS);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,2,$1,$4);}
> -    | TermArg PARSEOP_EXP_LESS_EQUAL    {$<n>$ = TrCreateLeafNode (PARSEOP_LLESSEQUAL);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,2,$1,$4);}
> -
> -    | TermArg PARSEOP_EXP_EQUAL         {$<n>$ = TrCreateLeafNode (PARSEOP_LEQUAL);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,2,$1,$4);}
> -    | TermArg PARSEOP_EXP_NOT_EQUAL     {$<n>$ = TrCreateLeafNode (PARSEOP_LNOTEQUAL);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,2,$1,$4);}
> -
> -    | TermArg PARSEOP_EXP_LOGICAL_AND   {$<n>$ = TrCreateLeafNode (PARSEOP_LAND);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,2,$1,$4);}
> -    | TermArg PARSEOP_EXP_LOGICAL_OR    {$<n>$ = TrCreateLeafNode (PARSEOP_LOR);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,2,$1,$4);}
> -
> -    /* Parentheses */
> -
> -    | '(' TermArg ')'                   { $$ = $2;}
> -
> -    /* Index term -- "= BUF1[5]" on right-hand side of an equals (source) */
> -
> -    | SuperName PARSEOP_EXP_INDEX_LEFT
> -        TermArg PARSEOP_EXP_INDEX_RIGHT {$$ = TrCreateLeafNode (PARSEOP_INDEX);
> -                                        TrLinkChildren ($$,3,$1,$3,TrCreateNullTarget ());}
> -    ;
> -
> -    /* Index term -- "BUF1[5] = " on left-hand side of an equals (target) */
> -
> -IndexExpTerm
> -
> -    : SuperName PARSEOP_EXP_INDEX_LEFT
> -        TermArg PARSEOP_EXP_INDEX_RIGHT {$$ = TrCreateLeafNode (PARSEOP_INDEX);
> -                                        TrLinkChildren ($$,3,$1,$3,TrCreateNullTarget ());}
> -    ;
> -
> -
> -/*******************************************************************************
> - *
> - * All assignment-type operations -- math and logical. Includes simple
> - * assignment and compound assignments.
> - *
> - ******************************************************************************/
> -
> -EqualsTerm
> -
> -    /* Simple Store() operation */
> -
> -    : SuperName PARSEOP_EXP_EQUALS
> -        TermArg                         {$$ = TrCreateAssignmentNode ($1, $3);}
> -
> -    /* Compound assignments -- Add (operand, operand, target) */
> -
> -    | TermArg PARSEOP_EXP_ADD_EQ        {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -
> -    | TermArg PARSEOP_EXP_DIV_EQ        {$<n>$ = TrCreateLeafNode (PARSEOP_DIVIDE);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,4,$1,$4,TrCreateNullTarget (),
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -
> -    | TermArg PARSEOP_EXP_MOD_EQ        {$<n>$ = TrCreateLeafNode (PARSEOP_MOD);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -
> -    | TermArg PARSEOP_EXP_MUL_EQ        {$<n>$ = TrCreateLeafNode (PARSEOP_MULTIPLY);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -
> -    | TermArg PARSEOP_EXP_SHL_EQ        {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTLEFT);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -
> -    | TermArg PARSEOP_EXP_SHR_EQ        {$<n>$ = TrCreateLeafNode (PARSEOP_SHIFTRIGHT);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -
> -    | TermArg PARSEOP_EXP_SUB_EQ        {$<n>$ = TrCreateLeafNode (PARSEOP_SUBTRACT);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -
> -    | TermArg PARSEOP_EXP_AND_EQ        {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -
> -    | TermArg PARSEOP_EXP_OR_EQ         {$<n>$ = TrCreateLeafNode (PARSEOP_OR);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -
> -    | TermArg PARSEOP_EXP_XOR_EQ        {$<n>$ = TrCreateLeafNode (PARSEOP_XOR);}
> -        TermArg                         {$$ = TrLinkChildren ($<n>3,3,$1,$4,
> -                                            TrSetNodeFlags (TrCreateTargetOperand ($1, NULL), NODE_IS_TARGET));}
> -    ;
> -
> -
> -
> -/*******************************************************************************
> - *
> - * ASL Parameter Keyword Terms
> - *
> - ******************************************************************************/
> -
> -AccessAttribKeyword
> -    : PARSEOP_ACCESSATTRIB_BLOCK            {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK);}
> -    | PARSEOP_ACCESSATTRIB_BLOCK_CALL       {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BLOCK_CALL);}
> -    | PARSEOP_ACCESSATTRIB_BYTE             {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_BYTE);}
> -    | PARSEOP_ACCESSATTRIB_QUICK            {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_QUICK );}
> -    | PARSEOP_ACCESSATTRIB_SND_RCV          {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_SND_RCV);}
> -    | PARSEOP_ACCESSATTRIB_WORD             {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD);}
> -    | PARSEOP_ACCESSATTRIB_WORD_CALL        {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD_CALL);}
> -    | PARSEOP_ACCESSATTRIB_MULTIBYTE '('    {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_MULTIBYTE);}
> -        ByteConst
> -        ')'                                 {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_ACCESSATTRIB_RAW_BYTES '('    {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_BYTES);}
> -        ByteConst
> -        ')'                                 {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    | PARSEOP_ACCESSATTRIB_RAW_PROCESS '('  {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_PROCESS);}
> -        ByteConst
> -        ')'                                 {$$ = TrLinkChildren ($<n>3,1,$4);}
> -    ;
> -
> -AccessTypeKeyword
> -    : PARSEOP_ACCESSTYPE_ANY                {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_ANY);}
> -    | PARSEOP_ACCESSTYPE_BYTE               {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BYTE);}
> -    | PARSEOP_ACCESSTYPE_WORD               {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_WORD);}
> -    | PARSEOP_ACCESSTYPE_DWORD              {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_DWORD);}
> -    | PARSEOP_ACCESSTYPE_QWORD              {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_QWORD);}
> -    | PARSEOP_ACCESSTYPE_BUF                {$$ = TrCreateLeafNode (PARSEOP_ACCESSTYPE_BUF);}
> -    ;
> -
> -AddressingModeKeyword
> -    : PARSEOP_ADDRESSINGMODE_7BIT           {$$ = TrCreateLeafNode (PARSEOP_ADDRESSINGMODE_7BIT);}
> -    | PARSEOP_ADDRESSINGMODE_10BIT          {$$ = TrCreateLeafNode (PARSEOP_ADDRESSINGMODE_10BIT);}
> -    ;
> -
> -AddressKeyword
> -    : PARSEOP_ADDRESSTYPE_MEMORY            {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_MEMORY);}
> -    | PARSEOP_ADDRESSTYPE_RESERVED          {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_RESERVED);}
> -    | PARSEOP_ADDRESSTYPE_NVS               {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_NVS);}
> -    | PARSEOP_ADDRESSTYPE_ACPI              {$$ = TrCreateLeafNode (PARSEOP_ADDRESSTYPE_ACPI);}
> -    ;
> -
> -AddressSpaceKeyword
> -    : ByteConst                             {$$ = UtCheckIntegerRange ($1, 0x0A, 0xFF);}
> -    | RegionSpaceKeyword                    {}
> -    ;
> -
> -BitsPerByteKeyword
> -    : PARSEOP_BITSPERBYTE_FIVE              {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_FIVE);}
> -    | PARSEOP_BITSPERBYTE_SIX               {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_SIX);}
> -    | PARSEOP_BITSPERBYTE_SEVEN             {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_SEVEN);}
> -    | PARSEOP_BITSPERBYTE_EIGHT             {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_EIGHT);}
> -    | PARSEOP_BITSPERBYTE_NINE              {$$ = TrCreateLeafNode (PARSEOP_BITSPERBYTE_NINE);}
> -    ;
> -
> -ClockPhaseKeyword
> -    : PARSEOP_CLOCKPHASE_FIRST              {$$ = TrCreateLeafNode (PARSEOP_CLOCKPHASE_FIRST);}
> -    | PARSEOP_CLOCKPHASE_SECOND             {$$ = TrCreateLeafNode (PARSEOP_CLOCKPHASE_SECOND);}
> -    ;
> -
> -ClockPolarityKeyword
> -    : PARSEOP_CLOCKPOLARITY_LOW             {$$ = TrCreateLeafNode (PARSEOP_CLOCKPOLARITY_LOW);}
> -    | PARSEOP_CLOCKPOLARITY_HIGH            {$$ = TrCreateLeafNode (PARSEOP_CLOCKPOLARITY_HIGH);}
> -    ;
> -
> -DecodeKeyword
> -    : PARSEOP_DECODETYPE_POS                {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_POS);}
> -    | PARSEOP_DECODETYPE_SUB                {$$ = TrCreateLeafNode (PARSEOP_DECODETYPE_SUB);}
> -    ;
> -
> -DevicePolarityKeyword
> -    : PARSEOP_DEVICEPOLARITY_LOW            {$$ = TrCreateLeafNode (PARSEOP_DEVICEPOLARITY_LOW);}
> -    | PARSEOP_DEVICEPOLARITY_HIGH           {$$ = TrCreateLeafNode (PARSEOP_DEVICEPOLARITY_HIGH);}
> -    ;
> -
> -DMATypeKeyword
> -    : PARSEOP_DMATYPE_A                     {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_A);}
> -    | PARSEOP_DMATYPE_COMPATIBILITY         {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_COMPATIBILITY);}
> -    | PARSEOP_DMATYPE_B                     {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_B);}
> -    | PARSEOP_DMATYPE_F                     {$$ = TrCreateLeafNode (PARSEOP_DMATYPE_F);}
> -    ;
> -
> -EndianKeyword
> -    : PARSEOP_ENDIAN_LITTLE                 {$$ = TrCreateLeafNode (PARSEOP_ENDIAN_LITTLE);}
> -    | PARSEOP_ENDIAN_BIG                    {$$ = TrCreateLeafNode (PARSEOP_ENDIAN_BIG);}
> -    ;
> -
> -FlowControlKeyword
> -    : PARSEOP_FLOWCONTROL_HW                {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_HW);}
> -    | PARSEOP_FLOWCONTROL_NONE              {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_NONE);}
> -    | PARSEOP_FLOWCONTROL_SW                {$$ = TrCreateLeafNode (PARSEOP_FLOWCONTROL_SW);}
> -    ;
> -
> -InterruptLevel
> -    : PARSEOP_INTLEVEL_ACTIVEBOTH           {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVEBOTH);}
> -    | PARSEOP_INTLEVEL_ACTIVEHIGH           {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVEHIGH);}
> -    | PARSEOP_INTLEVEL_ACTIVELOW            {$$ = TrCreateLeafNode (PARSEOP_INTLEVEL_ACTIVELOW);}
> -    ;
> -
> -InterruptTypeKeyword
> -    : PARSEOP_INTTYPE_EDGE                  {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_EDGE);}
> -    | PARSEOP_INTTYPE_LEVEL                 {$$ = TrCreateLeafNode (PARSEOP_INTTYPE_LEVEL);}
> -    ;
> -
> -IODecodeKeyword
> -    : PARSEOP_IODECODETYPE_16               {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_16);}
> -    | PARSEOP_IODECODETYPE_10               {$$ = TrCreateLeafNode (PARSEOP_IODECODETYPE_10);}
> -    ;
> -
> -IoRestrictionKeyword
> -    : PARSEOP_IORESTRICT_IN                 {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_IN);}
> -    | PARSEOP_IORESTRICT_OUT                {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_OUT);}
> -    | PARSEOP_IORESTRICT_NONE               {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_NONE);}
> -    | PARSEOP_IORESTRICT_PRESERVE           {$$ = TrCreateLeafNode (PARSEOP_IORESTRICT_PRESERVE);}
> -    ;
> -
> -LockRuleKeyword
> -    : PARSEOP_LOCKRULE_LOCK                 {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_LOCK);}
> -    | PARSEOP_LOCKRULE_NOLOCK               {$$ = TrCreateLeafNode (PARSEOP_LOCKRULE_NOLOCK);}
> -    ;
> -
> -MatchOpKeyword
> -    : PARSEOP_MATCHTYPE_MTR                 {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MTR);}
> -    | PARSEOP_MATCHTYPE_MEQ                 {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MEQ);}
> -    | PARSEOP_MATCHTYPE_MLE                 {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLE);}
> -    | PARSEOP_MATCHTYPE_MLT                 {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MLT);}
> -    | PARSEOP_MATCHTYPE_MGE                 {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGE);}
> -    | PARSEOP_MATCHTYPE_MGT                 {$$ = TrCreateLeafNode (PARSEOP_MATCHTYPE_MGT);}
> -    ;
> -
> -MaxKeyword
> -    : PARSEOP_MAXTYPE_FIXED                 {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_FIXED);}
> -    | PARSEOP_MAXTYPE_NOTFIXED              {$$ = TrCreateLeafNode (PARSEOP_MAXTYPE_NOTFIXED);}
> -    ;
> -
> -MemTypeKeyword
> -    : PARSEOP_MEMTYPE_CACHEABLE             {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_CACHEABLE);}
> -    | PARSEOP_MEMTYPE_WRITECOMBINING        {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_WRITECOMBINING);}
> -    | PARSEOP_MEMTYPE_PREFETCHABLE          {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_PREFETCHABLE);}
> -    | PARSEOP_MEMTYPE_NONCACHEABLE          {$$ = TrCreateLeafNode (PARSEOP_MEMTYPE_NONCACHEABLE);}
> -    ;
> -
> -MinKeyword
> -    : PARSEOP_MINTYPE_FIXED                 {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_FIXED);}
> -    | PARSEOP_MINTYPE_NOTFIXED              {$$ = TrCreateLeafNode (PARSEOP_MINTYPE_NOTFIXED);}
> -    ;
> -
> -ObjectTypeKeyword
> -    : PARSEOP_OBJECTTYPE_UNK                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_UNK);}
> -    | PARSEOP_OBJECTTYPE_INT                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_INT);}
> -    | PARSEOP_OBJECTTYPE_STR                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_STR);}
> -    | PARSEOP_OBJECTTYPE_BUF                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BUF);}
> -    | PARSEOP_OBJECTTYPE_PKG                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PKG);}
> -    | PARSEOP_OBJECTTYPE_FLD                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_FLD);}
> -    | PARSEOP_OBJECTTYPE_DEV                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DEV);}
> -    | PARSEOP_OBJECTTYPE_EVT                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_EVT);}
> -    | PARSEOP_OBJECTTYPE_MTH                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTH);}
> -    | PARSEOP_OBJECTTYPE_MTX                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_MTX);}
> -    | PARSEOP_OBJECTTYPE_OPR                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_OPR);}
> -    | PARSEOP_OBJECTTYPE_POW                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_POW);}
> -    | PARSEOP_OBJECTTYPE_PRO                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_PRO);}
> -    | PARSEOP_OBJECTTYPE_THZ                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_THZ);}
> -    | PARSEOP_OBJECTTYPE_BFF                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_BFF);}
> -    | PARSEOP_OBJECTTYPE_DDB                {$$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE_DDB);}
> -    ;
> -
> -ParityTypeKeyword
> -    : PARSEOP_PARITYTYPE_SPACE              {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_SPACE);}
> -    | PARSEOP_PARITYTYPE_MARK               {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_MARK);}
> -    | PARSEOP_PARITYTYPE_ODD                {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_ODD);}
> -    | PARSEOP_PARITYTYPE_EVEN               {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_EVEN);}
> -    | PARSEOP_PARITYTYPE_NONE               {$$ = TrCreateLeafNode (PARSEOP_PARITYTYPE_NONE);}
> -    ;
> -
> -PinConfigByte
> -    : PinConfigKeyword                      {$$ = $1;}
> -    | ByteConstExpr                         {$$ = UtCheckIntegerRange ($1, 0x80, 0xFF);}
> -    ;
> -
> -PinConfigKeyword
> -    : PARSEOP_PIN_NOPULL                    {$$ = TrCreateLeafNode (PARSEOP_PIN_NOPULL);}
> -    | PARSEOP_PIN_PULLDOWN                  {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLDOWN);}
> -    | PARSEOP_PIN_PULLUP                    {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLUP);}
> -    | PARSEOP_PIN_PULLDEFAULT               {$$ = TrCreateLeafNode (PARSEOP_PIN_PULLDEFAULT);}
> -    ;
> -
> -PldKeyword
> -    : PARSEOP_PLD_REVISION                  {$$ = TrCreateLeafNode (PARSEOP_PLD_REVISION);}
> -    | PARSEOP_PLD_IGNORECOLOR               {$$ = TrCreateLeafNode (PARSEOP_PLD_IGNORECOLOR);}
> -    | PARSEOP_PLD_RED                       {$$ = TrCreateLeafNode (PARSEOP_PLD_RED);}
> -    | PARSEOP_PLD_GREEN                     {$$ = TrCreateLeafNode (PARSEOP_PLD_GREEN);}
> -    | PARSEOP_PLD_BLUE                      {$$ = TrCreateLeafNode (PARSEOP_PLD_BLUE);}
> -    | PARSEOP_PLD_WIDTH                     {$$ = TrCreateLeafNode (PARSEOP_PLD_WIDTH);}
> -    | PARSEOP_PLD_HEIGHT                    {$$ = TrCreateLeafNode (PARSEOP_PLD_HEIGHT);}
> -    | PARSEOP_PLD_USERVISIBLE               {$$ = TrCreateLeafNode (PARSEOP_PLD_USERVISIBLE);}
> -    | PARSEOP_PLD_DOCK                      {$$ = TrCreateLeafNode (PARSEOP_PLD_DOCK);}
> -    | PARSEOP_PLD_LID                       {$$ = TrCreateLeafNode (PARSEOP_PLD_LID);}
> -    | PARSEOP_PLD_PANEL                     {$$ = TrCreateLeafNode (PARSEOP_PLD_PANEL);}
> -    | PARSEOP_PLD_VERTICALPOSITION          {$$ = TrCreateLeafNode (PARSEOP_PLD_VERTICALPOSITION);}
> -    | PARSEOP_PLD_HORIZONTALPOSITION        {$$ = TrCreateLeafNode (PARSEOP_PLD_HORIZONTALPOSITION);}
> -    | PARSEOP_PLD_SHAPE                     {$$ = TrCreateLeafNode (PARSEOP_PLD_SHAPE);}
> -    | PARSEOP_PLD_GROUPORIENTATION          {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPORIENTATION);}
> -    | PARSEOP_PLD_GROUPTOKEN                {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPTOKEN);}
> -    | PARSEOP_PLD_GROUPPOSITION             {$$ = TrCreateLeafNode (PARSEOP_PLD_GROUPPOSITION);}
> -    | PARSEOP_PLD_BAY                       {$$ = TrCreateLeafNode (PARSEOP_PLD_BAY);}
> -    | PARSEOP_PLD_EJECTABLE                 {$$ = TrCreateLeafNode (PARSEOP_PLD_EJECTABLE);}
> -    | PARSEOP_PLD_EJECTREQUIRED             {$$ = TrCreateLeafNode (PARSEOP_PLD_EJECTREQUIRED);}
> -    | PARSEOP_PLD_CABINETNUMBER             {$$ = TrCreateLeafNode (PARSEOP_PLD_CABINETNUMBER);}
> -    | PARSEOP_PLD_CARDCAGENUMBER            {$$ = TrCreateLeafNode (PARSEOP_PLD_CARDCAGENUMBER);}
> -    | PARSEOP_PLD_REFERENCE                 {$$ = TrCreateLeafNode (PARSEOP_PLD_REFERENCE);}
> -    | PARSEOP_PLD_ROTATION                  {$$ = TrCreateLeafNode (PARSEOP_PLD_ROTATION);}
> -    | PARSEOP_PLD_ORDER                     {$$ = TrCreateLeafNode (PARSEOP_PLD_ORDER);}
> -    | PARSEOP_PLD_RESERVED                  {$$ = TrCreateLeafNode (PARSEOP_PLD_RESERVED);}
> -    | PARSEOP_PLD_VERTICALOFFSET            {$$ = TrCreateLeafNode (PARSEOP_PLD_VERTICALOFFSET);}
> -    | PARSEOP_PLD_HORIZONTALOFFSET          {$$ = TrCreateLeafNode (PARSEOP_PLD_HORIZONTALOFFSET);}
> -    ;
> -
> -RangeTypeKeyword
> -    : PARSEOP_RANGETYPE_ISAONLY             {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ISAONLY);}
> -    | PARSEOP_RANGETYPE_NONISAONLY          {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_NONISAONLY);}
> -    | PARSEOP_RANGETYPE_ENTIRE              {$$ = TrCreateLeafNode (PARSEOP_RANGETYPE_ENTIRE);}
> -    ;
> -
> -RegionSpaceKeyword
> -    : PARSEOP_REGIONSPACE_IO                {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IO);}
> -    | PARSEOP_REGIONSPACE_MEM               {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_MEM);}
> -    | PARSEOP_REGIONSPACE_PCI               {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCI);}
> -    | PARSEOP_REGIONSPACE_EC                {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_EC);}
> -    | PARSEOP_REGIONSPACE_SMBUS             {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_SMBUS);}
> -    | PARSEOP_REGIONSPACE_CMOS              {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_CMOS);}
> -    | PARSEOP_REGIONSPACE_PCIBAR            {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCIBAR);}
> -    | PARSEOP_REGIONSPACE_IPMI              {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_IPMI);}
> -    | PARSEOP_REGIONSPACE_GPIO              {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_GPIO);}
> -    | PARSEOP_REGIONSPACE_GSBUS             {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_GSBUS);}
> -    | PARSEOP_REGIONSPACE_PCC               {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_PCC);}
> -    | PARSEOP_REGIONSPACE_FFIXEDHW          {$$ = TrCreateLeafNode (PARSEOP_REGIONSPACE_FFIXEDHW);}
> -    ;
> -
> -ResourceTypeKeyword
> -    : PARSEOP_RESOURCETYPE_CONSUMER         {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_CONSUMER);}
> -    | PARSEOP_RESOURCETYPE_PRODUCER         {$$ = TrCreateLeafNode (PARSEOP_RESOURCETYPE_PRODUCER);}
> -    ;
> -
> -SerializeRuleKeyword
> -    : PARSEOP_SERIALIZERULE_SERIAL          {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_SERIAL);}
> -    | PARSEOP_SERIALIZERULE_NOTSERIAL       {$$ = TrCreateLeafNode (PARSEOP_SERIALIZERULE_NOTSERIAL);}
> -    ;
> -
> -ShareTypeKeyword
> -    : PARSEOP_SHARETYPE_SHARED              {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_SHARED);}
> -    | PARSEOP_SHARETYPE_EXCLUSIVE           {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_EXCLUSIVE);}
> -    | PARSEOP_SHARETYPE_SHAREDWAKE          {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_SHAREDWAKE);}
> -    | PARSEOP_SHARETYPE_EXCLUSIVEWAKE       {$$ = TrCreateLeafNode (PARSEOP_SHARETYPE_EXCLUSIVEWAKE);}
> -   ;
> -
> -SlaveModeKeyword
> -    : PARSEOP_SLAVEMODE_CONTROLLERINIT      {$$ = TrCreateLeafNode (PARSEOP_SLAVEMODE_CONTROLLERINIT);}
> -    | PARSEOP_SLAVEMODE_DEVICEINIT          {$$ = TrCreateLeafNode (PARSEOP_SLAVEMODE_DEVICEINIT);}
> -    ;
> -
> -StopBitsKeyword
> -    : PARSEOP_STOPBITS_TWO                  {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_TWO);}
> -    | PARSEOP_STOPBITS_ONEPLUSHALF          {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ONEPLUSHALF);}
> -    | PARSEOP_STOPBITS_ONE                  {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ONE);}
> -    | PARSEOP_STOPBITS_ZERO                 {$$ = TrCreateLeafNode (PARSEOP_STOPBITS_ZERO);}
> -    ;
> -
> -TranslationKeyword
> -    : PARSEOP_TRANSLATIONTYPE_SPARSE        {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_SPARSE);}
> -    | PARSEOP_TRANSLATIONTYPE_DENSE         {$$ = TrCreateLeafNode (PARSEOP_TRANSLATIONTYPE_DENSE);}
> -    ;
> -
> -TypeKeyword
> -    : PARSEOP_TYPE_TRANSLATION              {$$ = TrCreateLeafNode (PARSEOP_TYPE_TRANSLATION);}
> -    | PARSEOP_TYPE_STATIC                   {$$ = TrCreateLeafNode (PARSEOP_TYPE_STATIC);}
> -    ;
> -
> -UpdateRuleKeyword
> -    : PARSEOP_UPDATERULE_PRESERVE           {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_PRESERVE);}
> -    | PARSEOP_UPDATERULE_ONES               {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ONES);}
> -    | PARSEOP_UPDATERULE_ZEROS              {$$ = TrCreateLeafNode (PARSEOP_UPDATERULE_ZEROS);}
> -    ;
> -
> -WireModeKeyword
> -    : PARSEOP_WIREMODE_FOUR                 {$$ = TrCreateLeafNode (PARSEOP_WIREMODE_FOUR);}
> -    | PARSEOP_WIREMODE_THREE                {$$ = TrCreateLeafNode (PARSEOP_WIREMODE_THREE);}
> -    ;
> -
> -XferSizeKeyword
> -    : PARSEOP_XFERSIZE_8                    {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_8,   0);}
> -    | PARSEOP_XFERSIZE_16                   {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_16,  1);}
> -    | PARSEOP_XFERSIZE_32                   {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_32,  2);}
> -    | PARSEOP_XFERSIZE_64                   {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_64,  3);}
> -    | PARSEOP_XFERSIZE_128                  {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_128, 4);}
> -    | PARSEOP_XFERSIZE_256                  {$$ = TrCreateValuedLeafNode (PARSEOP_XFERSIZE_256, 5);}
> -    ;
> -
> -XferTypeKeyword
> -    : PARSEOP_XFERTYPE_8                    {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8);}
> -    | PARSEOP_XFERTYPE_8_16                 {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_8_16);}
> -    | PARSEOP_XFERTYPE_16                   {$$ = TrCreateLeafNode (PARSEOP_XFERTYPE_16);}
> -    ;
> -
> -
> -
> -
> -/*******************************************************************************
> - *
> - * ASL Resource Template Terms
> - *
> - ******************************************************************************/
> -
> -/*
> - * Note: Create two default nodes to allow conversion to a Buffer AML opcode
> - * Also, insert the EndTag at the end of the template.
> - */
> -ResourceTemplateTerm
> -    : PARSEOP_RESOURCETEMPLATE OptionalParentheses
> -        '{'
> -        ResourceMacroList '}'       {$$ = TrCreateNode (PARSEOP_RESOURCETEMPLATE,4,
> -                                          TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
> -                                          TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
> -                                          $4,
> -                                          TrCreateLeafNode (PARSEOP_ENDTAG));}
> -    ;
> -
> -OptionalParentheses
> -    :                               {$$ = NULL;}
> -    | '(' ')'                       {$$ = NULL;}
> -    ;
> -
> -ResourceMacroList
> -    :                               {$$ = NULL;}
> -    | ResourceMacroList
> -        ResourceMacroTerm           {$$ = TrLinkPeerNode ($1,$2);}
> -    ;
> -
> -ResourceMacroTerm
> -    : DMATerm                       {}
> -    | DWordIOTerm                   {}
> -    | DWordMemoryTerm               {}
> -    | DWordSpaceTerm                {}
> -    | EndDependentFnTerm            {}
> -    | ExtendedIOTerm                {}
> -    | ExtendedMemoryTerm            {}
> -    | ExtendedSpaceTerm             {}
> -    | FixedDmaTerm                  {}
> -    | FixedIOTerm                   {}
> -    | GpioIntTerm                   {}
> -    | GpioIoTerm                    {}
> -    | I2cSerialBusTerm              {}
> -    | I2cSerialBusTermV2            {}
> -    | InterruptTerm                 {}
> -    | IOTerm                        {}
> -    | IRQNoFlagsTerm                {}
> -    | IRQTerm                       {}
> -    | Memory24Term                  {}
> -    | Memory32FixedTerm             {}
> -    | Memory32Term                  {}
> -    | QWordIOTerm                   {}
> -    | QWordMemoryTerm               {}
> -    | QWordSpaceTerm                {}
> -    | RegisterTerm                  {}
> -    | SpiSerialBusTerm              {}
> -    | SpiSerialBusTermV2            {}
> -    | StartDependentFnNoPriTerm     {}
> -    | StartDependentFnTerm          {}
> -    | UartSerialBusTerm             {}
> -    | UartSerialBusTermV2           {}
> -    | VendorLongTerm                {}
> -    | VendorShortTerm               {}
> -    | WordBusNumberTerm             {}
> -    | WordIOTerm                    {}
> -    | WordSpaceTerm                 {}
> -    ;
> -
> -DMATerm
> -    : PARSEOP_DMA '('               {$<n>$ = TrCreateLeafNode (PARSEOP_DMA);}
> -        DMATypeKeyword
> -        OptionalBusMasterKeyword
> -        ',' XferTypeKeyword
> -        OptionalNameString_Last
> -        ')' '{'
> -            ByteList '}'            {$$ = TrLinkChildren ($<n>3,5,$4,$5,$7,$8,$11);}
> -    | PARSEOP_DMA '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -DWordIOTerm
> -    : PARSEOP_DWORDIO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDIO);}
> -        OptionalResourceType_First
> -        OptionalMinType
> -        OptionalMaxType
> -        OptionalDecodeType
> -        OptionalRangeType
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString
> -        OptionalType
> -        OptionalTranslationType_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,15,
> -                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
> -    | PARSEOP_DWORDIO '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -DWordMemoryTerm
> -    : PARSEOP_DWORDMEMORY '('       {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDMEMORY);}
> -        OptionalResourceType_First
> -        OptionalDecodeType
> -        OptionalMinType
> -        OptionalMaxType
> -        OptionalMemType
> -        ',' OptionalReadWriteKeyword
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString
> -        OptionalAddressRange
> -        OptionalType_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,16,
> -                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
> -    | PARSEOP_DWORDMEMORY '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -DWordSpaceTerm
> -    : PARSEOP_DWORDSPACE '('        {$<n>$ = TrCreateLeafNode (PARSEOP_DWORDSPACE);}
> -        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
> -        OptionalResourceType
> -        OptionalDecodeType
> -        OptionalMinType
> -        OptionalMaxType
> -        ',' ByteConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,14,
> -                                        $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
> -    | PARSEOP_DWORDSPACE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -EndDependentFnTerm
> -    : PARSEOP_ENDDEPENDENTFN '('
> -        ')'                         {$$ = TrCreateLeafNode (PARSEOP_ENDDEPENDENTFN);}
> -    | PARSEOP_ENDDEPENDENTFN '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ExtendedIOTerm
> -    : PARSEOP_EXTENDEDIO '('        {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDIO);}
> -        OptionalResourceType_First
> -        OptionalMinType
> -        OptionalMaxType
> -        OptionalDecodeType
> -        OptionalRangeType
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        OptionalQWordConstExpr
> -        OptionalNameString
> -        OptionalType
> -        OptionalTranslationType_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,14,
> -                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22);}
> -    | PARSEOP_EXTENDEDIO '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ExtendedMemoryTerm
> -    : PARSEOP_EXTENDEDMEMORY '('    {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDMEMORY);}
> -        OptionalResourceType_First
> -        OptionalDecodeType
> -        OptionalMinType
> -        OptionalMaxType
> -        OptionalMemType
> -        ',' OptionalReadWriteKeyword
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        OptionalQWordConstExpr
> -        OptionalNameString
> -        OptionalAddressRange
> -        OptionalType_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,15,
> -                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24);}
> -    | PARSEOP_EXTENDEDMEMORY '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -ExtendedSpaceTerm
> -    : PARSEOP_EXTENDEDSPACE '('     {$<n>$ = TrCreateLeafNode (PARSEOP_EXTENDEDSPACE);}
> -        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
> -        OptionalResourceType
> -        OptionalDecodeType
> -        OptionalMinType
> -        OptionalMaxType
> -        ',' ByteConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        OptionalQWordConstExpr
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,13,
> -                                        $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23);}
> -    | PARSEOP_EXTENDEDSPACE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -FixedDmaTerm
> -    : PARSEOP_FIXEDDMA '('          {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDDMA);}
> -        WordConstExpr               /* 04: DMA RequestLines */
> -        ',' WordConstExpr           /* 06: DMA Channels */
> -        OptionalXferSize            /* 07: DMA TransferSize */
> -        OptionalNameString          /* 08: DescriptorName */
> -        ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$6,$7,$8);}
> -    | PARSEOP_FIXEDDMA '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -FixedIOTerm
> -    : PARSEOP_FIXEDIO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_FIXEDIO);}
> -        WordConstExpr
> -        ',' ByteConstExpr
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,3,$4,$6,$7);}
> -    | PARSEOP_FIXEDIO '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -GpioIntTerm
> -    : PARSEOP_GPIO_INT '('          {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_INT);}
> -        InterruptTypeKeyword        /* 04: InterruptType */
> -        ',' InterruptLevel          /* 06: InterruptLevel */
> -        OptionalShareType           /* 07: SharedType */
> -        ',' PinConfigByte           /* 09: PinConfig */
> -        OptionalWordConstExpr       /* 10: DebounceTimeout */
> -        ',' StringData              /* 12: ResourceSource */
> -        OptionalByteConstExpr       /* 13: ResourceSourceIndex */
> -        OptionalResourceType        /* 14: ResourceType */
> -        OptionalNameString          /* 15: DescriptorName */
> -        OptionalBuffer_Last         /* 16: VendorData */
> -        ')' '{'
> -            DWordConstExpr '}'      {$$ = TrLinkChildren ($<n>3,11,
> -                                        $4,$6,$7,$9,$10,$12,$13,$14,$15,$16,$19);}
> -    | PARSEOP_GPIO_INT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -GpioIoTerm
> -    : PARSEOP_GPIO_IO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_GPIO_IO);}
> -        OptionalShareType_First     /* 04: SharedType */
> -        ',' PinConfigByte           /* 06: PinConfig */
> -        OptionalWordConstExpr       /* 07: DebounceTimeout */
> -        OptionalWordConstExpr       /* 08: DriveStrength */
> -        OptionalIoRestriction       /* 09: IoRestriction */
> -        ',' StringData              /* 11: ResourceSource */
> -        OptionalByteConstExpr       /* 12: ResourceSourceIndex */
> -        OptionalResourceType        /* 13: ResourceType */
> -        OptionalNameString          /* 14: DescriptorName */
> -        OptionalBuffer_Last         /* 15: VendorData */
> -        ')' '{'
> -            DWordList '}'           {$$ = TrLinkChildren ($<n>3,11,
> -                                        $4,$6,$7,$8,$9,$11,$12,$13,$14,$15,$18);}
> -    | PARSEOP_GPIO_IO '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -I2cSerialBusTerm
> -    : PARSEOP_I2C_SERIALBUS '('     {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS);}
> -        WordConstExpr               /* 04: SlaveAddress */
> -        OptionalSlaveMode           /* 05: SlaveMode */
> -        ',' DWordConstExpr          /* 07: ConnectionSpeed */
> -        OptionalAddressingMode      /* 08: AddressingMode */
> -        ',' StringData              /* 10: ResourceSource */
> -        OptionalByteConstExpr       /* 11: ResourceSourceIndex */
> -        OptionalResourceType        /* 12: ResourceType */
> -        OptionalNameString          /* 13: DescriptorName */
> -        OptionalBuffer_Last         /* 14: VendorData */
> -        ')'                         {$$ = TrLinkChildren ($<n>3,10,
> -                                        $4,$5,$7,$8,$10,$11,$12,$13,
> -                                        TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$14);}
> -    | PARSEOP_I2C_SERIALBUS '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -I2cSerialBusTermV2
> -    : PARSEOP_I2C_SERIALBUS_V2 '('  {$<n>$ = TrCreateLeafNode (PARSEOP_I2C_SERIALBUS_V2);}
> -        WordConstExpr               /* 04: SlaveAddress */
> -        OptionalSlaveMode           /* 05: SlaveMode */
> -        ',' DWordConstExpr          /* 07: ConnectionSpeed */
> -        OptionalAddressingMode      /* 08: AddressingMode */
> -        ',' StringData              /* 10: ResourceSource */
> -        OptionalByteConstExpr       /* 11: ResourceSourceIndex */
> -        OptionalResourceType        /* 12: ResourceType */
> -        OptionalNameString          /* 13: DescriptorName */
> -        OptionalShareType           /* 14: Share */
> -        OptionalBuffer_Last         /* 15: VendorData */
> -        ')'                         {$$ = TrLinkChildren ($<n>3,10,
> -                                        $4,$5,$7,$8,$10,$11,$12,$13,$14,$15);}
> -    | PARSEOP_I2C_SERIALBUS_V2 '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -InterruptTerm
> -    : PARSEOP_INTERRUPT '('         {$<n>$ = TrCreateLeafNode (PARSEOP_INTERRUPT);}
> -        OptionalResourceType_First
> -        ',' InterruptTypeKeyword
> -        ',' InterruptLevel
> -        OptionalShareType
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString_Last
> -        ')' '{'
> -            DWordList '}'           {$$ = TrLinkChildren ($<n>3,8,
> -                                        $4,$6,$8,$9,$10,$11,$12,$15);}
> -    | PARSEOP_INTERRUPT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -IOTerm
> -    : PARSEOP_IO '('                {$<n>$ = TrCreateLeafNode (PARSEOP_IO);}
> -        IODecodeKeyword
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' ByteConstExpr
> -        ',' ByteConstExpr
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
> -    | PARSEOP_IO '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -IRQNoFlagsTerm
> -    : PARSEOP_IRQNOFLAGS '('        {$<n>$ = TrCreateLeafNode (PARSEOP_IRQNOFLAGS);}
> -        OptionalNameString_First
> -        ')' '{'
> -            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
> -    | PARSEOP_IRQNOFLAGS '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -IRQTerm
> -    : PARSEOP_IRQ '('               {$<n>$ = TrCreateLeafNode (PARSEOP_IRQ);}
> -        InterruptTypeKeyword
> -        ',' InterruptLevel
> -        OptionalShareType
> -        OptionalNameString_Last
> -        ')' '{'
> -            ByteList '}'            {$$ = TrLinkChildren ($<n>3,5,$4,$6,$7,$8,$11);}
> -    | PARSEOP_IRQ '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -Memory24Term
> -    : PARSEOP_MEMORY24 '('          {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY24);}
> -        OptionalReadWriteKeyword
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
> -    | PARSEOP_MEMORY24 '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -Memory32FixedTerm
> -    : PARSEOP_MEMORY32FIXED '('     {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32FIXED);}
> -        OptionalReadWriteKeyword
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,4,$4,$6,$8,$9);}
> -    | PARSEOP_MEMORY32FIXED '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -Memory32Term
> -    : PARSEOP_MEMORY32 '('          {$<n>$ = TrCreateLeafNode (PARSEOP_MEMORY32);}
> -        OptionalReadWriteKeyword
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        ',' DWordConstExpr
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$12,$13);}
> -    | PARSEOP_MEMORY32 '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -QWordIOTerm
> -    : PARSEOP_QWORDIO '('           {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDIO);}
> -        OptionalResourceType_First
> -        OptionalMinType
> -        OptionalMaxType
> -        OptionalDecodeType
> -        OptionalRangeType
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString
> -        OptionalType
> -        OptionalTranslationType_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,15,
> -                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
> -    | PARSEOP_QWORDIO '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -QWordMemoryTerm
> -    : PARSEOP_QWORDMEMORY '('       {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDMEMORY);}
> -        OptionalResourceType_First
> -        OptionalDecodeType
> -        OptionalMinType
> -        OptionalMaxType
> -        OptionalMemType
> -        ',' OptionalReadWriteKeyword
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString
> -        OptionalAddressRange
> -        OptionalType_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,16,
> -                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$20,$21,$22,$23,$24,$25);}
> -    | PARSEOP_QWORDMEMORY '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -QWordSpaceTerm
> -    : PARSEOP_QWORDSPACE '('        {$<n>$ = TrCreateLeafNode (PARSEOP_QWORDSPACE);}
> -        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
> -        OptionalResourceType
> -        OptionalDecodeType
> -        OptionalMinType
> -        OptionalMaxType
> -        ',' ByteConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        ',' QWordConstExpr
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,14,
> -                                        $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
> -    | PARSEOP_QWORDSPACE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -RegisterTerm
> -    : PARSEOP_REGISTER '('          {$<n>$ = TrCreateLeafNode (PARSEOP_REGISTER);}
> -        AddressSpaceKeyword
> -        ',' ByteConstExpr
> -        ',' ByteConstExpr
> -        ',' QWordConstExpr
> -        OptionalAccessSize
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
> -    | PARSEOP_REGISTER '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -SpiSerialBusTerm
> -    : PARSEOP_SPI_SERIALBUS '('     {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS);}
> -        WordConstExpr               /* 04: DeviceSelection */
> -        OptionalDevicePolarity      /* 05: DevicePolarity */
> -        OptionalWireMode            /* 06: WireMode */
> -        ',' ByteConstExpr           /* 08: DataBitLength */
> -        OptionalSlaveMode           /* 09: SlaveMode */
> -        ',' DWordConstExpr          /* 11: ConnectionSpeed */
> -        ',' ClockPolarityKeyword    /* 13: ClockPolarity */
> -        ',' ClockPhaseKeyword       /* 15: ClockPhase */
> -        ',' StringData              /* 17: ResourceSource */
> -        OptionalByteConstExpr       /* 18: ResourceSourceIndex */
> -        OptionalResourceType        /* 19: ResourceType */
> -        OptionalNameString          /* 20: DescriptorName */
> -        OptionalBuffer_Last         /* 21: VendorData */
> -        ')'                         {$$ = TrLinkChildren ($<n>3,14,
> -                                        $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,
> -                                        TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
> -    | PARSEOP_SPI_SERIALBUS '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -SpiSerialBusTermV2
> -    : PARSEOP_SPI_SERIALBUS_V2 '('  {$<n>$ = TrCreateLeafNode (PARSEOP_SPI_SERIALBUS_V2);}
> -        WordConstExpr               /* 04: DeviceSelection */
> -        OptionalDevicePolarity      /* 05: DevicePolarity */
> -        OptionalWireMode            /* 06: WireMode */
> -        ',' ByteConstExpr           /* 08: DataBitLength */
> -        OptionalSlaveMode           /* 09: SlaveMode */
> -        ',' DWordConstExpr          /* 11: ConnectionSpeed */
> -        ',' ClockPolarityKeyword    /* 13: ClockPolarity */
> -        ',' ClockPhaseKeyword       /* 15: ClockPhase */
> -        ',' StringData              /* 17: ResourceSource */
> -        OptionalByteConstExpr       /* 18: ResourceSourceIndex */
> -        OptionalResourceType        /* 19: ResourceType */
> -        OptionalNameString          /* 20: DescriptorName */
> -        OptionalShareType           /* 21: Share */
> -        OptionalBuffer_Last         /* 22: VendorData */
> -        ')'                         {$$ = TrLinkChildren ($<n>3,14,
> -                                        $4,$5,$6,$8,$9,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
> -    | PARSEOP_SPI_SERIALBUS_V2 '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -StartDependentFnNoPriTerm
> -    : PARSEOP_STARTDEPENDENTFN_NOPRI '('    {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN_NOPRI);}
> -        ')' '{'
> -        ResourceMacroList '}'       {$$ = TrLinkChildren ($<n>3,1,$6);}
> -    | PARSEOP_STARTDEPENDENTFN_NOPRI '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -StartDependentFnTerm
> -    : PARSEOP_STARTDEPENDENTFN '('  {$<n>$ = TrCreateLeafNode (PARSEOP_STARTDEPENDENTFN);}
> -        ByteConstExpr
> -        ',' ByteConstExpr
> -        ')' '{'
> -        ResourceMacroList '}'       {$$ = TrLinkChildren ($<n>3,3,$4,$6,$9);}
> -    | PARSEOP_STARTDEPENDENTFN '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -UartSerialBusTerm
> -    : PARSEOP_UART_SERIALBUS '('    {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS);}
> -        DWordConstExpr              /* 04: ConnectionSpeed */
> -        OptionalBitsPerByte         /* 05: BitsPerByte */
> -        OptionalStopBits            /* 06: StopBits */
> -        ',' ByteConstExpr           /* 08: LinesInUse */
> -        OptionalEndian              /* 09: Endianess */
> -        OptionalParityType          /* 10: Parity */
> -        OptionalFlowControl         /* 11: FlowControl */
> -        ',' WordConstExpr           /* 13: Rx BufferSize */
> -        ',' WordConstExpr           /* 15: Tx BufferSize */
> -        ',' StringData              /* 17: ResourceSource */
> -        OptionalByteConstExpr       /* 18: ResourceSourceIndex */
> -        OptionalResourceType        /* 19: ResourceType */
> -        OptionalNameString          /* 20: DescriptorName */
> -        OptionalBuffer_Last         /* 21: VendorData */
> -        ')'                         {$$ = TrLinkChildren ($<n>3,15,
> -                                        $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,
> -                                        TrCreateLeafNode (PARSEOP_DEFAULT_ARG),$21);}
> -    | PARSEOP_UART_SERIALBUS '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -UartSerialBusTermV2
> -    : PARSEOP_UART_SERIALBUS_V2 '(' {$<n>$ = TrCreateLeafNode (PARSEOP_UART_SERIALBUS_V2);}
> -        DWordConstExpr              /* 04: ConnectionSpeed */
> -        OptionalBitsPerByte         /* 05: BitsPerByte */
> -        OptionalStopBits            /* 06: StopBits */
> -        ',' ByteConstExpr           /* 08: LinesInUse */
> -        OptionalEndian              /* 09: Endianess */
> -        OptionalParityType          /* 10: Parity */
> -        OptionalFlowControl         /* 11: FlowControl */
> -        ',' WordConstExpr           /* 13: Rx BufferSize */
> -        ',' WordConstExpr           /* 15: Tx BufferSize */
> -        ',' StringData              /* 17: ResourceSource */
> -        OptionalByteConstExpr       /* 18: ResourceSourceIndex */
> -        OptionalResourceType        /* 19: ResourceType */
> -        OptionalNameString          /* 20: DescriptorName */
> -        OptionalShareType           /* 21: Share */
> -        OptionalBuffer_Last         /* 22: VendorData */
> -        ')'                         {$$ = TrLinkChildren ($<n>3,15,
> -                                        $4,$5,$6,$8,$9,$10,$11,$13,$15,$17,$18,$19,$20,$21,$22);}
> -    | PARSEOP_UART_SERIALBUS_V2 '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -VendorLongTerm
> -    : PARSEOP_VENDORLONG '('        {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORLONG);}
> -        OptionalNameString_First
> -        ')' '{'
> -            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
> -    | PARSEOP_VENDORLONG '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -VendorShortTerm
> -    : PARSEOP_VENDORSHORT '('       {$<n>$ = TrCreateLeafNode (PARSEOP_VENDORSHORT);}
> -        OptionalNameString_First
> -        ')' '{'
> -            ByteList '}'            {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
> -    | PARSEOP_VENDORSHORT '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -WordBusNumberTerm
> -    : PARSEOP_WORDBUSNUMBER '('     {$<n>$ = TrCreateLeafNode (PARSEOP_WORDBUSNUMBER);}
> -        OptionalResourceType_First
> -        OptionalMinType
> -        OptionalMaxType
> -        OptionalDecodeType
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,12,
> -                                        $4,$5,$6,$7,$9,$11,$13,$15,$17,$18,$19,$20);}
> -    | PARSEOP_WORDBUSNUMBER '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -WordIOTerm
> -    : PARSEOP_WORDIO '('            {$<n>$ = TrCreateLeafNode (PARSEOP_WORDIO);}
> -        OptionalResourceType_First
> -        OptionalMinType
> -        OptionalMaxType
> -        OptionalDecodeType
> -        OptionalRangeType
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString
> -        OptionalType
> -        OptionalTranslationType_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,15,
> -                                        $4,$5,$6,$7,$8,$10,$12,$14,$16,$18,$19,$20,$21,$22,$23);}
> -    | PARSEOP_WORDIO '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -WordSpaceTerm
> -    : PARSEOP_WORDSPACE '('         {$<n>$ = TrCreateLeafNode (PARSEOP_WORDSPACE);}
> -        ByteConstExpr               {UtCheckIntegerRange ($4, 0xC0, 0xFF);}
> -        OptionalResourceType
> -        OptionalDecodeType
> -        OptionalMinType
> -        OptionalMaxType
> -        ',' ByteConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        ',' WordConstExpr
> -        OptionalByteConstExpr
> -        OptionalStringData
> -        OptionalNameString_Last
> -        ')'                         {$$ = TrLinkChildren ($<n>3,14,
> -                                        $4,$6,$7,$8,$9,$11,$13,$15,$17,$19,$21,$22,$23,$24);}
> -    | PARSEOP_WORDSPACE '('
> -        error ')'                   {$$ = AslDoError(); yyclearin;}
> -    ;
> -
> -
> -
> -
> -/*******************************************************************************
> - *
> - * ASL Helper Terms
> - *
> - ******************************************************************************/
> -
> -OptionalBusMasterKeyword
> -    : ','                                   {$$ = TrCreateLeafNode (
> -                                                PARSEOP_BUSMASTERTYPE_MASTER);}
> -    | ',' PARSEOP_BUSMASTERTYPE_MASTER      {$$ = TrCreateLeafNode (
> -                                                PARSEOP_BUSMASTERTYPE_MASTER);}
> -    | ',' PARSEOP_BUSMASTERTYPE_NOTMASTER   {$$ = TrCreateLeafNode (
> -                                                PARSEOP_BUSMASTERTYPE_NOTMASTER);}
> -    ;
> -
> -OptionalAccessAttribTerm
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' ByteConstExpr             {$$ = $2;}
> -    | ',' AccessAttribKeyword       {$$ = $2;}
> -    ;
> -
> -OptionalAccessSize
> -    :                               {$$ = TrCreateValuedLeafNode (
> -                                        PARSEOP_BYTECONST, 0);}
> -    | ','                           {$$ = TrCreateValuedLeafNode (
> -                                        PARSEOP_BYTECONST, 0);}
> -    | ',' ByteConstExpr             {$$ = $2;}
> -    ;
> -
> -OptionalAddressingMode
> -    : ','                           {$$ = NULL;}
> -    | ',' AddressingModeKeyword     {$$ = $2;}
> -    ;
> -
> -OptionalAddressRange
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' AddressKeyword            {$$ = $2;}
> -    ;
> -
> -OptionalBitsPerByte
> -    : ','                           {$$ = NULL;}
> -    | ',' BitsPerByteKeyword        {$$ = $2;}
> -    ;
> -
> -OptionalBuffer_Last
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' RawDataBufferTerm         {$$ = $2;}
> -    ;
> -
> -OptionalByteConstExpr
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' ByteConstExpr             {$$ = $2;}
> -    ;
> -
> -OptionalDecodeType
> -    : ','                           {$$ = NULL;}
> -    | ',' DecodeKeyword             {$$ = $2;}
> -    ;
> -
> -OptionalDevicePolarity
> -    : ','                           {$$ = NULL;}
> -    | ',' DevicePolarityKeyword     {$$ = $2;}
> -    ;
> -
> -OptionalDWordConstExpr
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' DWordConstExpr            {$$ = $2;}
> -    ;
> -
> -OptionalEndian
> -    : ','                           {$$ = NULL;}
> -    | ',' EndianKeyword             {$$ = $2;}
> -    ;
> -
> -OptionalFlowControl
> -    : ','                           {$$ = NULL;}
> -    | ',' FlowControlKeyword        {$$ = $2;}
> -    ;
> -
> -OptionalIoRestriction
> -    : ','                           {$$ = NULL;}
> -    | ',' IoRestrictionKeyword      {$$ = $2;}
> -    ;
> -
> -OptionalListString
> -    :                               {$$ = TrCreateValuedLeafNode (
> -                                        PARSEOP_STRING_LITERAL,
> -                                        ACPI_TO_INTEGER (""));}   /* Placeholder is a NULL string */
> -    | ','                           {$$ = TrCreateValuedLeafNode (
> -                                        PARSEOP_STRING_LITERAL,
> -                                        ACPI_TO_INTEGER (""));}   /* Placeholder is a NULL string */
> -    | ',' TermArg                   {$$ = $2;}
> -    ;
> -
> -OptionalMaxType
> -    : ','                           {$$ = NULL;}
> -    | ',' MaxKeyword                {$$ = $2;}
> -    ;
> -
> -OptionalMemType
> -    : ','                           {$$ = NULL;}
> -    | ',' MemTypeKeyword            {$$ = $2;}
> -    ;
> -
> -OptionalMinType
> -    : ','                           {$$ = NULL;}
> -    | ',' MinKeyword                {$$ = $2;}
> -    ;
> -
> -OptionalNameString
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' NameString                {$$ = $2;}
> -    ;
> -
> -OptionalNameString_Last
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' NameString                {$$ = $2;}
> -    ;
> -
> -OptionalNameString_First
> -    :                               {$$ = TrCreateLeafNode (
> -                                        PARSEOP_ZERO);}
> -    | NameString                    {$$ = $1;}
> -    ;
> -
> -OptionalObjectTypeKeyword
> -    :                               {$$ = TrCreateLeafNode (
> -                                        PARSEOP_OBJECTTYPE_UNK);}
> -    | ',' ObjectTypeKeyword         {$$ = $2;}
> -    ;
> -
> -OptionalParityType
> -    : ','                           {$$ = NULL;}
> -    | ',' ParityTypeKeyword         {$$ = $2;}
> -    ;
> -
> -OptionalQWordConstExpr
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' QWordConstExpr            {$$ = $2;}
> -    ;
> -
> -OptionalRangeType
> -    : ','                           {$$ = NULL;}
> -    | ',' RangeTypeKeyword          {$$ = $2;}
> -    ;
> -
> -OptionalReadWriteKeyword
> -    :                                   {$$ = TrCreateLeafNode (
> -                                            PARSEOP_READWRITETYPE_BOTH);}
> -    | PARSEOP_READWRITETYPE_BOTH        {$$ = TrCreateLeafNode (
> -                                            PARSEOP_READWRITETYPE_BOTH);}
> -    | PARSEOP_READWRITETYPE_READONLY    {$$ = TrCreateLeafNode (
> -                                            PARSEOP_READWRITETYPE_READONLY);}
> -    ;
> -
> -OptionalResourceType_First
> -    :                               {$$ = TrCreateLeafNode (
> -                                        PARSEOP_RESOURCETYPE_CONSUMER);}
> -    | ResourceTypeKeyword           {$$ = $1;}
> -    ;
> -
> -OptionalResourceType
> -    :                               {$$ = TrCreateLeafNode (
> -                                        PARSEOP_RESOURCETYPE_CONSUMER);}
> -    | ','                           {$$ = TrCreateLeafNode (
> -                                        PARSEOP_RESOURCETYPE_CONSUMER);}
> -    | ',' ResourceTypeKeyword       {$$ = $2;}
> -    ;
> -
> -OptionalSlaveMode
> -    : ','                           {$$ = NULL;}
> -    | ',' SlaveModeKeyword          {$$ = $2;}
> -    ;
> -
> -OptionalShareType
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' ShareTypeKeyword          {$$ = $2;}
> -    ;
> -
> -OptionalShareType_First
> -    :                               {$$ = NULL;}
> -    | ShareTypeKeyword              {$$ = $1;}
> -    ;
> -
> -OptionalStopBits
> -    : ','                           {$$ = NULL;}
> -    | ',' StopBitsKeyword           {$$ = $2;}
> -    ;
> -
> -OptionalStringData
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' StringData                {$$ = $2;}
> -    ;
> -
> -OptionalTranslationType_Last
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' TranslationKeyword        {$$ = $2;}
> -    ;
> -
> -OptionalType
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' TypeKeyword               {$$ = $2;}
> -    ;
> -
> -OptionalType_Last
> -    :                               {$$ = NULL;}
> -    | ','                           {$$ = NULL;}
> -    | ',' TypeKeyword               {$$ = $2;}
> -    ;
> -
> -OptionalWireMode
> -    : ','                           {$$ = NULL;}
> -    | ',' WireModeKeyword           {$$ = $2;}
> -    ;
> -
> -OptionalWordConstExpr
> -    : ','                           {$$ = NULL;}
> -    | ',' WordConstExpr             {$$ = $2;}
> -    ;
> -
> -OptionalXferSize
> -    :                               {$$ = TrCreateValuedLeafNode (
> -                                        PARSEOP_XFERSIZE_32, 2);}
> -    | ','                           {$$ = TrCreateValuedLeafNode (
> -                                        PARSEOP_XFERSIZE_32, 2);}
> -    | ',' XferSizeKeyword           {$$ = $2;}
> -    ;
> -
> -%%
> -
> -/*! [End] no source code translation !*/
> -
> -/* Local support functions in C */
> -
> -
> -
> -/******************************************************************************
> - *
> - * Local support functions
> - *
> - *****************************************************************************/
> -
> -/*! [Begin] no source code translation */
> -int
> -AslCompilerwrap(void)
> -{
> -  return (1);
> -}
> -/*! [End] no source code translation !*/
> -
> -
> -void *
> -AslLocalAllocate (
> -    unsigned int        Size)
> -{
> -    void                *Mem;
> -
> -
> -    DbgPrint (ASL_PARSE_OUTPUT,
> -        "\nAslLocalAllocate: Expanding Stack to %u\n\n", Size);
> -
> -    Mem = ACPI_ALLOCATE_ZEROED (Size);
> -    if (!Mem)
> -    {
> -        AslCommonError (ASL_ERROR, ASL_MSG_MEMORY_ALLOCATION,
> -            Gbl_CurrentLineNumber, Gbl_LogicalLineNumber,
> -            Gbl_InputByteCount, Gbl_CurrentColumn,
> -            Gbl_Files[ASL_FILE_INPUT].Filename, NULL);
> -        exit (1);
> -    }
> -
> -    return (Mem);
> -}
> -
> -ACPI_PARSE_OBJECT *
> -AslDoError (
> -    void)
> -{
> -
> -    return (TrCreateLeafNode (PARSEOP_ERRORNODE));
> -}
> -
> -
> -/*******************************************************************************
> - *
> - * FUNCTION:    UtGetOpName
> - *
> - * PARAMETERS:  ParseOpcode         - Parser keyword ID
> - *
> - * RETURN:      Pointer to the opcode name
> - *
> - * DESCRIPTION: Get the ascii name of the parse opcode
> - *
> - ******************************************************************************/
> -
> -char *
> -UtGetOpName (
> -    UINT32                  ParseOpcode)
> -{
> -#ifdef ASL_YYTNAME_START
> -    /*
> -     * First entries (ASL_YYTNAME_START) in yytname are special reserved names.
> -     * Ignore first 8 characters of the name
> -     */
> -    return ((char *) yytname
> -        [(ParseOpcode - ASL_FIRST_PARSE_OPCODE) + ASL_YYTNAME_START] + 8);
> -#else
> -    return ("[Unknown parser generator]");
> -#endif
> -}
> -
>

Acked-by: Alex Hung <alex.hung at canonical.com>



More information about the fwts-devel mailing list