NoEcho(' /****************************************************************************** * * Module Name: asltokens.y - Bison/Yacc token types * *****************************************************************************/ /* * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions, and the following disclaimer, * without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer * substantially similar to the "NO WARRANTY" disclaimer below * ("Disclaimer") and any redistribution must be conditioned upon * including a substantially similar Disclaimer requirement for further * binary redistribution. * 3. Neither the names of the above-listed copyright holders nor the names * of any contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. */ ') /****************************************************************************** * * 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 , which is a UINT64. * * These tokens return , a pointer to the associated lexed string: * * PARSEOP_NAMESEG * PARSEOP_NAMESTRING * PARSEOP_STRING_LITERAL * PARSEOP_STRUCTURE_NAMESTRING */ %token PARSEOP_ACCESSAS %token PARSEOP_ACCESSATTRIB_BLOCK %token PARSEOP_ACCESSATTRIB_BLOCK_CALL %token PARSEOP_ACCESSATTRIB_BYTE %token PARSEOP_ACCESSATTRIB_MULTIBYTE %token PARSEOP_ACCESSATTRIB_QUICK %token PARSEOP_ACCESSATTRIB_RAW_BYTES %token PARSEOP_ACCESSATTRIB_RAW_PROCESS %token PARSEOP_ACCESSATTRIB_SND_RCV %token PARSEOP_ACCESSATTRIB_WORD %token PARSEOP_ACCESSATTRIB_WORD_CALL %token PARSEOP_ACCESSTYPE_ANY %token PARSEOP_ACCESSTYPE_BUF %token PARSEOP_ACCESSTYPE_BYTE %token PARSEOP_ACCESSTYPE_DWORD %token PARSEOP_ACCESSTYPE_QWORD %token PARSEOP_ACCESSTYPE_WORD %token PARSEOP_ACQUIRE %token PARSEOP_ADD %token PARSEOP_ADDRESSINGMODE_7BIT %token PARSEOP_ADDRESSINGMODE_10BIT %token PARSEOP_ADDRESSTYPE_ACPI %token PARSEOP_ADDRESSTYPE_MEMORY %token PARSEOP_ADDRESSTYPE_NVS %token PARSEOP_ADDRESSTYPE_RESERVED %token PARSEOP_ALIAS %token PARSEOP_AND %token PARSEOP_ARG0 %token PARSEOP_ARG1 %token PARSEOP_ARG2 %token PARSEOP_ARG3 %token PARSEOP_ARG4 %token PARSEOP_ARG5 %token PARSEOP_ARG6 %token PARSEOP_BANKFIELD %token PARSEOP_BITSPERBYTE_EIGHT %token PARSEOP_BITSPERBYTE_FIVE %token PARSEOP_BITSPERBYTE_NINE %token PARSEOP_BITSPERBYTE_SEVEN %token PARSEOP_BITSPERBYTE_SIX %token PARSEOP_BREAK %token PARSEOP_BREAKPOINT %token PARSEOP_BUFFER %token PARSEOP_BUSMASTERTYPE_MASTER %token PARSEOP_BUSMASTERTYPE_NOTMASTER %token PARSEOP_BYTECONST %token PARSEOP_CASE %token PARSEOP_CLOCKPHASE_FIRST %token PARSEOP_CLOCKPHASE_SECOND %token PARSEOP_CLOCKPOLARITY_HIGH %token PARSEOP_CLOCKPOLARITY_LOW %token PARSEOP_CONCATENATE %token PARSEOP_CONCATENATERESTEMPLATE %token PARSEOP_CONDREFOF %token PARSEOP_CONNECTION %token PARSEOP_CONTINUE %token PARSEOP_COPYOBJECT %token PARSEOP_CREATEBITFIELD %token PARSEOP_CREATEBYTEFIELD %token PARSEOP_CREATEDWORDFIELD %token PARSEOP_CREATEFIELD %token PARSEOP_CREATEQWORDFIELD %token PARSEOP_CREATEWORDFIELD %token PARSEOP_DATABUFFER %token PARSEOP_DATATABLEREGION %token PARSEOP_DEBUG %token PARSEOP_DECODETYPE_POS %token PARSEOP_DECODETYPE_SUB %token PARSEOP_DECREMENT %token PARSEOP_DEFAULT %token PARSEOP_DEFAULT_ARG %token PARSEOP_DEFINITION_BLOCK %token PARSEOP_DEREFOF %token PARSEOP_DEVICE %token PARSEOP_DEVICEPOLARITY_HIGH %token PARSEOP_DEVICEPOLARITY_LOW %token PARSEOP_DIVIDE %token PARSEOP_DMA %token PARSEOP_DMATYPE_A %token PARSEOP_DMATYPE_COMPATIBILITY %token PARSEOP_DMATYPE_B %token PARSEOP_DMATYPE_F %token PARSEOP_DWORDCONST %token PARSEOP_DWORDIO %token PARSEOP_DWORDMEMORY %token PARSEOP_DWORDSPACE %token PARSEOP_EISAID %token PARSEOP_ELSE %token PARSEOP_ELSEIF %token PARSEOP_ENDDEPENDENTFN %token PARSEOP_ENDIAN_BIG %token PARSEOP_ENDIAN_LITTLE %token PARSEOP_ENDTAG %token PARSEOP_ERRORNODE %token PARSEOP_EVENT %token PARSEOP_EXTENDEDIO %token PARSEOP_EXTENDEDMEMORY %token PARSEOP_EXTENDEDSPACE %token PARSEOP_EXTERNAL %token PARSEOP_FATAL %token PARSEOP_FIELD %token PARSEOP_FINDSETLEFTBIT %token PARSEOP_FINDSETRIGHTBIT %token PARSEOP_FIXEDDMA %token PARSEOP_FIXEDIO %token PARSEOP_FLOWCONTROL_HW %token PARSEOP_FLOWCONTROL_NONE %token PARSEOP_FLOWCONTROL_SW %token PARSEOP_FROMBCD %token PARSEOP_FUNCTION %token PARSEOP_GPIO_INT %token PARSEOP_GPIO_IO %token PARSEOP_I2C_SERIALBUS %token PARSEOP_I2C_SERIALBUS_V2 %token PARSEOP_IF %token PARSEOP_INCLUDE %token PARSEOP_INCLUDE_END %token PARSEOP_INCREMENT %token PARSEOP_INDEX %token PARSEOP_INDEXFIELD %token PARSEOP_INTEGER %token PARSEOP_INTERRUPT %token PARSEOP_INTLEVEL_ACTIVEBOTH %token PARSEOP_INTLEVEL_ACTIVEHIGH %token PARSEOP_INTLEVEL_ACTIVELOW %token PARSEOP_INTTYPE_EDGE %token PARSEOP_INTTYPE_LEVEL %token PARSEOP_IO %token PARSEOP_IODECODETYPE_10 %token PARSEOP_IODECODETYPE_16 %token PARSEOP_IORESTRICT_IN %token PARSEOP_IORESTRICT_NONE %token PARSEOP_IORESTRICT_OUT %token PARSEOP_IORESTRICT_PRESERVE %token PARSEOP_IRQ %token PARSEOP_IRQNOFLAGS %token PARSEOP_LAND %token PARSEOP_LEQUAL %token PARSEOP_LGREATER %token PARSEOP_LGREATEREQUAL %token PARSEOP_LLESS %token PARSEOP_LLESSEQUAL %token PARSEOP_LNOT %token PARSEOP_LNOTEQUAL %token PARSEOP_LOAD %token PARSEOP_LOADTABLE %token PARSEOP_LOCAL0 %token PARSEOP_LOCAL1 %token PARSEOP_LOCAL2 %token PARSEOP_LOCAL3 %token PARSEOP_LOCAL4 %token PARSEOP_LOCAL5 %token PARSEOP_LOCAL6 %token PARSEOP_LOCAL7 %token PARSEOP_LOCKRULE_LOCK %token PARSEOP_LOCKRULE_NOLOCK %token PARSEOP_LOR %token PARSEOP_MATCH %token PARSEOP_MATCHTYPE_MEQ %token PARSEOP_MATCHTYPE_MGE %token PARSEOP_MATCHTYPE_MGT %token PARSEOP_MATCHTYPE_MLE %token PARSEOP_MATCHTYPE_MLT %token PARSEOP_MATCHTYPE_MTR %token PARSEOP_MAXTYPE_FIXED %token PARSEOP_MAXTYPE_NOTFIXED %token PARSEOP_MEMORY24 %token PARSEOP_MEMORY32 %token PARSEOP_MEMORY32FIXED %token PARSEOP_MEMTYPE_CACHEABLE %token PARSEOP_MEMTYPE_NONCACHEABLE %token PARSEOP_MEMTYPE_PREFETCHABLE %token PARSEOP_MEMTYPE_WRITECOMBINING %token PARSEOP_METHOD %token PARSEOP_METHODCALL %token PARSEOP_MID %token PARSEOP_MINTYPE_FIXED %token PARSEOP_MINTYPE_NOTFIXED %token PARSEOP_MOD %token PARSEOP_MULTIPLY %token PARSEOP_MUTEX %token PARSEOP_NAME %token PARSEOP_NAMESEG %token PARSEOP_NAMESTRING %token PARSEOP_NAND %token PARSEOP_NOOP %token PARSEOP_NOR %token PARSEOP_NOT %token PARSEOP_NOTIFY %token PARSEOP_OBJECTTYPE %token PARSEOP_OBJECTTYPE_BFF %token PARSEOP_OBJECTTYPE_BUF %token PARSEOP_OBJECTTYPE_DDB %token PARSEOP_OBJECTTYPE_DEV %token PARSEOP_OBJECTTYPE_EVT %token PARSEOP_OBJECTTYPE_FLD %token PARSEOP_OBJECTTYPE_INT %token PARSEOP_OBJECTTYPE_MTH %token PARSEOP_OBJECTTYPE_MTX %token PARSEOP_OBJECTTYPE_OPR %token PARSEOP_OBJECTTYPE_PKG %token PARSEOP_OBJECTTYPE_POW %token PARSEOP_OBJECTTYPE_PRO %token PARSEOP_OBJECTTYPE_STR %token PARSEOP_OBJECTTYPE_THZ %token PARSEOP_OBJECTTYPE_UNK %token PARSEOP_OFFSET %token PARSEOP_ONE %token PARSEOP_ONES %token PARSEOP_OPERATIONREGION %token PARSEOP_OR %token PARSEOP_PACKAGE %token PARSEOP_PACKAGE_LENGTH %token PARSEOP_PARITYTYPE_EVEN %token PARSEOP_PARITYTYPE_MARK %token PARSEOP_PARITYTYPE_NONE %token PARSEOP_PARITYTYPE_ODD %token PARSEOP_PARITYTYPE_SPACE %token PARSEOP_PIN_NOPULL %token PARSEOP_PIN_PULLDEFAULT %token PARSEOP_PIN_PULLDOWN %token PARSEOP_PIN_PULLUP %token PARSEOP_POWERRESOURCE %token PARSEOP_PROCESSOR %token PARSEOP_QWORDCONST %token PARSEOP_QWORDIO %token PARSEOP_QWORDMEMORY %token PARSEOP_QWORDSPACE %token PARSEOP_RANGETYPE_ENTIRE %token PARSEOP_RANGETYPE_ISAONLY %token PARSEOP_RANGETYPE_NONISAONLY %token PARSEOP_RAW_DATA %token PARSEOP_READWRITETYPE_BOTH %token PARSEOP_READWRITETYPE_READONLY %token PARSEOP_REFOF %token PARSEOP_REGIONSPACE_CMOS %token PARSEOP_REGIONSPACE_EC %token PARSEOP_REGIONSPACE_FFIXEDHW %token PARSEOP_REGIONSPACE_GPIO %token PARSEOP_REGIONSPACE_GSBUS %token PARSEOP_REGIONSPACE_IO %token PARSEOP_REGIONSPACE_IPMI %token PARSEOP_REGIONSPACE_MEM %token PARSEOP_REGIONSPACE_PCC %token PARSEOP_REGIONSPACE_PCI %token PARSEOP_REGIONSPACE_PCIBAR %token PARSEOP_REGIONSPACE_SMBUS %token PARSEOP_REGISTER %token PARSEOP_RELEASE %token PARSEOP_RESERVED_BYTES %token PARSEOP_RESET %token PARSEOP_RESOURCETEMPLATE %token PARSEOP_RESOURCETYPE_CONSUMER %token PARSEOP_RESOURCETYPE_PRODUCER %token PARSEOP_RETURN %token PARSEOP_REVISION %token PARSEOP_SCOPE %token PARSEOP_SERIALIZERULE_NOTSERIAL %token PARSEOP_SERIALIZERULE_SERIAL %token PARSEOP_SHARETYPE_EXCLUSIVE %token PARSEOP_SHARETYPE_EXCLUSIVEWAKE %token PARSEOP_SHARETYPE_SHARED %token PARSEOP_SHARETYPE_SHAREDWAKE %token PARSEOP_SHIFTLEFT %token PARSEOP_SHIFTRIGHT %token PARSEOP_SIGNAL %token PARSEOP_SIZEOF %token PARSEOP_SLAVEMODE_CONTROLLERINIT %token PARSEOP_SLAVEMODE_DEVICEINIT %token PARSEOP_SLEEP %token PARSEOP_SPI_SERIALBUS %token PARSEOP_SPI_SERIALBUS_V2 %token PARSEOP_STALL %token PARSEOP_STARTDEPENDENTFN %token PARSEOP_STARTDEPENDENTFN_NOPRI %token PARSEOP_STOPBITS_ONE %token PARSEOP_STOPBITS_ONEPLUSHALF %token PARSEOP_STOPBITS_TWO %token PARSEOP_STOPBITS_ZERO %token PARSEOP_STORE %token PARSEOP_STRING_LITERAL %token PARSEOP_SUBTRACT %token PARSEOP_SWITCH %token PARSEOP_THERMALZONE %token PARSEOP_TIMER %token PARSEOP_TOBCD %token PARSEOP_TOBUFFER %token PARSEOP_TODECIMALSTRING %token PARSEOP_TOHEXSTRING %token PARSEOP_TOINTEGER %token PARSEOP_TOSTRING %token PARSEOP_TOUUID %token PARSEOP_TRANSLATIONTYPE_DENSE %token PARSEOP_TRANSLATIONTYPE_SPARSE %token PARSEOP_TYPE_STATIC %token PARSEOP_TYPE_TRANSLATION %token PARSEOP_UART_SERIALBUS %token PARSEOP_UART_SERIALBUS_V2 %token PARSEOP_UNICODE %token PARSEOP_UNLOAD %token PARSEOP_UPDATERULE_ONES %token PARSEOP_UPDATERULE_PRESERVE %token PARSEOP_UPDATERULE_ZEROS %token PARSEOP_VAR_PACKAGE %token PARSEOP_VENDORLONG %token PARSEOP_VENDORSHORT %token PARSEOP_WAIT %token PARSEOP_WHILE %token PARSEOP_WIREMODE_FOUR %token PARSEOP_WIREMODE_THREE %token PARSEOP_WORDBUSNUMBER %token PARSEOP_WORDCONST %token PARSEOP_WORDIO %token PARSEOP_WORDSPACE %token PARSEOP_XFERSIZE_8 %token PARSEOP_XFERSIZE_16 %token PARSEOP_XFERSIZE_32 %token PARSEOP_XFERSIZE_64 %token PARSEOP_XFERSIZE_128 %token PARSEOP_XFERSIZE_256 %token PARSEOP_XFERTYPE_8 %token PARSEOP_XFERTYPE_8_16 %token PARSEOP_XFERTYPE_16 %token PARSEOP_XOR %token PARSEOP_ZERO /* ToPld macro */ %token PARSEOP_TOPLD %token PARSEOP_PLD_REVISION %token PARSEOP_PLD_IGNORECOLOR %token PARSEOP_PLD_RED %token PARSEOP_PLD_GREEN %token PARSEOP_PLD_BLUE %token PARSEOP_PLD_WIDTH %token PARSEOP_PLD_HEIGHT %token PARSEOP_PLD_USERVISIBLE %token PARSEOP_PLD_DOCK %token PARSEOP_PLD_LID %token PARSEOP_PLD_PANEL %token PARSEOP_PLD_VERTICALPOSITION %token PARSEOP_PLD_HORIZONTALPOSITION %token PARSEOP_PLD_SHAPE %token PARSEOP_PLD_GROUPORIENTATION %token PARSEOP_PLD_GROUPTOKEN %token PARSEOP_PLD_GROUPPOSITION %token PARSEOP_PLD_BAY %token PARSEOP_PLD_EJECTABLE %token PARSEOP_PLD_EJECTREQUIRED %token PARSEOP_PLD_CABINETNUMBER %token PARSEOP_PLD_CARDCAGENUMBER %token PARSEOP_PLD_REFERENCE %token PARSEOP_PLD_ROTATION %token PARSEOP_PLD_ORDER %token PARSEOP_PLD_RESERVED %token PARSEOP_PLD_VERTICALOFFSET %token 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 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 PARSEOP_EXP_LOGICAL_OR %left PARSEOP_EXP_LOGICAL_AND %left PARSEOP_EXP_OR %left PARSEOP_EXP_XOR %left PARSEOP_EXP_AND %left PARSEOP_EXP_EQUAL PARSEOP_EXP_NOT_EQUAL %left PARSEOP_EXP_GREATER PARSEOP_EXP_LESS PARSEOP_EXP_GREATER_EQUAL PARSEOP_EXP_LESS_EQUAL %left PARSEOP_EXP_SHIFT_RIGHT PARSEOP_EXP_SHIFT_LEFT %left PARSEOP_EXP_ADD PARSEOP_EXP_SUBTRACT %left PARSEOP_EXP_MULTIPLY PARSEOP_EXP_DIVIDE PARSEOP_EXP_MODULO %right PARSEOP_EXP_NOT PARSEOP_EXP_LOGICAL_NOT %left PARSEOP_EXP_INCREMENT PARSEOP_EXP_DECREMENT /* Brackets for Index() support */ %left PARSEOP_EXP_INDEX_LEFT %right PARSEOP_EXP_INDEX_RIGHT /* Macros */ %token PARSEOP_PRINTF %token PARSEOP_FPRINTF %token PARSEOP_FOR /* Structures */ %token PARSEOP_STRUCTURE %token PARSEOP_STRUCTURE_NAMESTRING %token PARSEOP_STRUCTURE_TAG %token PARSEOP_STRUCTURE_ELEMENT %token PARSEOP_STRUCTURE_INSTANCE %token PARSEOP_STRUCTURE_REFERENCE %token PARSEOP_STRUCTURE_POINTER /* Top level */ %token 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 PARSEOP_INTEGER_TYPE %token PARSEOP_STRING_TYPE %token PARSEOP_BUFFER_TYPE %token PARSEOP_PACKAGE_TYPE %token PARSEOP_REFERENCE_TYPE /* * Special functions. These should probably stay at the end of this * table. */ %token PARSEOP___DATE__ %token PARSEOP___FILE__ %token PARSEOP___LINE__ %token PARSEOP___PATH__