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