1 NoEcho(' 2 /****************************************************************************** 3 * 4 * Module Name: asltokens.y - Bison/Yacc token types 5 * 6 *****************************************************************************/ 7 8 /* 9 * Copyright (C) 2000 - 2016, Intel Corp. 10 * All rights reserved. 11 * 12 * Redistribution and use in source and binary forms, with or without 13 * modification, are permitted provided that the following conditions 14 * are met: 15 * 1. Redistributions of source code must retain the above copyright 16 * notice, this list of conditions, and the following disclaimer, 17 * without modification. 18 * 2. Redistributions in binary form must reproduce at minimum a disclaimer 19 * substantially similar to the "NO WARRANTY" disclaimer below 20 * ("Disclaimer") and any redistribution must be conditioned upon 21 * including a substantially similar Disclaimer requirement for further 22 * binary redistribution. 23 * 3. Neither the names of the above-listed copyright holders nor the names 24 * of any contributors may be used to endorse or promote products derived 25 * from this software without specific prior written permission. 26 * 27 * Alternatively, this software may be distributed under the terms of the 28 * GNU General Public License ("GPL") version 2 as published by the Free 29 * Software Foundation. 30 * 31 * NO WARRANTY 32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 33 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 34 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 35 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 36 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 40 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 41 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 42 * POSSIBILITY OF SUCH DAMAGES. 43 */ 44 45 ') 46 47 /****************************************************************************** 48 * 49 * Token types: These are returned by the lexer 50 * 51 * NOTE: This list MUST match the AslKeywordMapping table found 52 * in aslmap.c EXACTLY! Double check any changes! 53 * 54 *****************************************************************************/ 55 56 /* 57 * Most tokens are defined to return <i>, which is a UINT64. 58 * 59 * These tokens return <s>, a pointer to the associated lexed string: 60 * 61 * PARSEOP_NAMESEG 62 * PARSEOP_NAMESTRING 63 * PARSEOP_STRING_LITERAL 64 * PARSEOP_STRUCTURE_NAMESTRING 65 */ 66 %token <i> PARSEOP_ACCESSAS 67 %token <i> PARSEOP_ACCESSATTRIB_BLOCK 68 %token <i> PARSEOP_ACCESSATTRIB_BLOCK_CALL 69 %token <i> PARSEOP_ACCESSATTRIB_BYTE 70 %token <i> PARSEOP_ACCESSATTRIB_MULTIBYTE 71 %token <i> PARSEOP_ACCESSATTRIB_QUICK 72 %token <i> PARSEOP_ACCESSATTRIB_RAW_BYTES 73 %token <i> PARSEOP_ACCESSATTRIB_RAW_PROCESS 74 %token <i> PARSEOP_ACCESSATTRIB_SND_RCV 75 %token <i> PARSEOP_ACCESSATTRIB_WORD 76 %token <i> PARSEOP_ACCESSATTRIB_WORD_CALL 77 %token <i> PARSEOP_ACCESSTYPE_ANY 78 %token <i> PARSEOP_ACCESSTYPE_BUF 79 %token <i> PARSEOP_ACCESSTYPE_BYTE 80 %token <i> PARSEOP_ACCESSTYPE_DWORD 81 %token <i> PARSEOP_ACCESSTYPE_QWORD 82 %token <i> PARSEOP_ACCESSTYPE_WORD 83 %token <i> PARSEOP_ACQUIRE 84 %token <i> PARSEOP_ADD 85 %token <i> PARSEOP_ADDRESSINGMODE_7BIT 86 %token <i> PARSEOP_ADDRESSINGMODE_10BIT 87 %token <i> PARSEOP_ADDRESSTYPE_ACPI 88 %token <i> PARSEOP_ADDRESSTYPE_MEMORY 89 %token <i> PARSEOP_ADDRESSTYPE_NVS 90 %token <i> PARSEOP_ADDRESSTYPE_RESERVED 91 %token <i> PARSEOP_ALIAS 92 %token <i> PARSEOP_AND 93 %token <i> PARSEOP_ARG0 94 %token <i> PARSEOP_ARG1 95 %token <i> PARSEOP_ARG2 96 %token <i> PARSEOP_ARG3 97 %token <i> PARSEOP_ARG4 98 %token <i> PARSEOP_ARG5 99 %token <i> PARSEOP_ARG6 100 %token <i> PARSEOP_BANKFIELD 101 %token <i> PARSEOP_BITSPERBYTE_EIGHT 102 %token <i> PARSEOP_BITSPERBYTE_FIVE 103 %token <i> PARSEOP_BITSPERBYTE_NINE 104 %token <i> PARSEOP_BITSPERBYTE_SEVEN 105 %token <i> PARSEOP_BITSPERBYTE_SIX 106 %token <i> PARSEOP_BREAK 107 %token <i> PARSEOP_BREAKPOINT 108 %token <i> PARSEOP_BUFFER 109 %token <i> PARSEOP_BUSMASTERTYPE_MASTER 110 %token <i> PARSEOP_BUSMASTERTYPE_NOTMASTER 111 %token <i> PARSEOP_BYTECONST 112 %token <i> PARSEOP_CASE 113 %token <i> PARSEOP_CLOCKPHASE_FIRST 114 %token <i> PARSEOP_CLOCKPHASE_SECOND 115 %token <i> PARSEOP_CLOCKPOLARITY_HIGH 116 %token <i> PARSEOP_CLOCKPOLARITY_LOW 117 %token <i> PARSEOP_CONCATENATE 118 %token <i> PARSEOP_CONCATENATERESTEMPLATE 119 %token <i> PARSEOP_CONDREFOF 120 %token <i> PARSEOP_CONNECTION 121 %token <i> PARSEOP_CONTINUE 122 %token <i> PARSEOP_COPYOBJECT 123 %token <i> PARSEOP_CREATEBITFIELD 124 %token <i> PARSEOP_CREATEBYTEFIELD 125 %token <i> PARSEOP_CREATEDWORDFIELD 126 %token <i> PARSEOP_CREATEFIELD 127 %token <i> PARSEOP_CREATEQWORDFIELD 128 %token <i> PARSEOP_CREATEWORDFIELD 129 %token <i> PARSEOP_DATABUFFER 130 %token <i> PARSEOP_DATATABLEREGION 131 %token <i> PARSEOP_DEBUG 132 %token <i> PARSEOP_DECODETYPE_POS 133 %token <i> PARSEOP_DECODETYPE_SUB 134 %token <i> PARSEOP_DECREMENT 135 %token <i> PARSEOP_DEFAULT 136 %token <i> PARSEOP_DEFAULT_ARG 137 %token <i> PARSEOP_DEFINITION_BLOCK 138 %token <i> PARSEOP_DEREFOF 139 %token <i> PARSEOP_DEVICE 140 %token <i> PARSEOP_DEVICEPOLARITY_HIGH 141 %token <i> PARSEOP_DEVICEPOLARITY_LOW 142 %token <i> PARSEOP_DIVIDE 143 %token <i> PARSEOP_DMA 144 %token <i> PARSEOP_DMATYPE_A 145 %token <i> PARSEOP_DMATYPE_COMPATIBILITY 146 %token <i> PARSEOP_DMATYPE_B 147 %token <i> PARSEOP_DMATYPE_F 148 %token <i> PARSEOP_DWORDCONST 149 %token <i> PARSEOP_DWORDIO 150 %token <i> PARSEOP_DWORDMEMORY 151 %token <i> PARSEOP_DWORDSPACE 152 %token <i> PARSEOP_EISAID 153 %token <i> PARSEOP_ELSE 154 %token <i> PARSEOP_ELSEIF 155 %token <i> PARSEOP_ENDDEPENDENTFN 156 %token <i> PARSEOP_ENDIAN_BIG 157 %token <i> PARSEOP_ENDIAN_LITTLE 158 %token <i> PARSEOP_ENDTAG 159 %token <i> PARSEOP_ERRORNODE 160 %token <i> PARSEOP_EVENT 161 %token <i> PARSEOP_EXTENDEDIO 162 %token <i> PARSEOP_EXTENDEDMEMORY 163 %token <i> PARSEOP_EXTENDEDSPACE 164 %token <i> PARSEOP_EXTERNAL 165 %token <i> PARSEOP_FATAL 166 %token <i> PARSEOP_FIELD 167 %token <i> PARSEOP_FINDSETLEFTBIT 168 %token <i> PARSEOP_FINDSETRIGHTBIT 169 %token <i> PARSEOP_FIXEDDMA 170 %token <i> PARSEOP_FIXEDIO 171 %token <i> PARSEOP_FLOWCONTROL_HW 172 %token <i> PARSEOP_FLOWCONTROL_NONE 173 %token <i> PARSEOP_FLOWCONTROL_SW 174 %token <i> PARSEOP_FROMBCD 175 %token <i> PARSEOP_FUNCTION 176 %token <i> PARSEOP_GPIO_INT 177 %token <i> PARSEOP_GPIO_IO 178 %token <i> PARSEOP_I2C_SERIALBUS 179 %token <i> PARSEOP_I2C_SERIALBUS_V2 180 %token <i> PARSEOP_IF 181 %token <i> PARSEOP_INCLUDE 182 %token <i> PARSEOP_INCLUDE_END 183 %token <i> PARSEOP_INCREMENT 184 %token <i> PARSEOP_INDEX 185 %token <i> PARSEOP_INDEXFIELD 186 %token <i> PARSEOP_INTEGER 187 %token <i> PARSEOP_INTERRUPT 188 %token <i> PARSEOP_INTLEVEL_ACTIVEBOTH 189 %token <i> PARSEOP_INTLEVEL_ACTIVEHIGH 190 %token <i> PARSEOP_INTLEVEL_ACTIVELOW 191 %token <i> PARSEOP_INTTYPE_EDGE 192 %token <i> PARSEOP_INTTYPE_LEVEL 193 %token <i> PARSEOP_IO 194 %token <i> PARSEOP_IODECODETYPE_10 195 %token <i> PARSEOP_IODECODETYPE_16 196 %token <i> PARSEOP_IORESTRICT_IN 197 %token <i> PARSEOP_IORESTRICT_NONE 198 %token <i> PARSEOP_IORESTRICT_OUT 199 %token <i> PARSEOP_IORESTRICT_PRESERVE 200 %token <i> PARSEOP_IRQ 201 %token <i> PARSEOP_IRQNOFLAGS 202 %token <i> PARSEOP_LAND 203 %token <i> PARSEOP_LEQUAL 204 %token <i> PARSEOP_LGREATER 205 %token <i> PARSEOP_LGREATEREQUAL 206 %token <i> PARSEOP_LLESS 207 %token <i> PARSEOP_LLESSEQUAL 208 %token <i> PARSEOP_LNOT 209 %token <i> PARSEOP_LNOTEQUAL 210 %token <i> PARSEOP_LOAD 211 %token <i> PARSEOP_LOADTABLE 212 %token <i> PARSEOP_LOCAL0 213 %token <i> PARSEOP_LOCAL1 214 %token <i> PARSEOP_LOCAL2 215 %token <i> PARSEOP_LOCAL3 216 %token <i> PARSEOP_LOCAL4 217 %token <i> PARSEOP_LOCAL5 218 %token <i> PARSEOP_LOCAL6 219 %token <i> PARSEOP_LOCAL7 220 %token <i> PARSEOP_LOCKRULE_LOCK 221 %token <i> PARSEOP_LOCKRULE_NOLOCK 222 %token <i> PARSEOP_LOR 223 %token <i> PARSEOP_MATCH 224 %token <i> PARSEOP_MATCHTYPE_MEQ 225 %token <i> PARSEOP_MATCHTYPE_MGE 226 %token <i> PARSEOP_MATCHTYPE_MGT 227 %token <i> PARSEOP_MATCHTYPE_MLE 228 %token <i> PARSEOP_MATCHTYPE_MLT 229 %token <i> PARSEOP_MATCHTYPE_MTR 230 %token <i> PARSEOP_MAXTYPE_FIXED 231 %token <i> PARSEOP_MAXTYPE_NOTFIXED 232 %token <i> PARSEOP_MEMORY24 233 %token <i> PARSEOP_MEMORY32 234 %token <i> PARSEOP_MEMORY32FIXED 235 %token <i> PARSEOP_MEMTYPE_CACHEABLE 236 %token <i> PARSEOP_MEMTYPE_NONCACHEABLE 237 %token <i> PARSEOP_MEMTYPE_PREFETCHABLE 238 %token <i> PARSEOP_MEMTYPE_WRITECOMBINING 239 %token <i> PARSEOP_METHOD 240 %token <i> PARSEOP_METHODCALL 241 %token <i> PARSEOP_MID 242 %token <i> PARSEOP_MINTYPE_FIXED 243 %token <i> PARSEOP_MINTYPE_NOTFIXED 244 %token <i> PARSEOP_MOD 245 %token <i> PARSEOP_MULTIPLY 246 %token <i> PARSEOP_MUTEX 247 %token <i> PARSEOP_NAME 248 %token <s> PARSEOP_NAMESEG 249 %token <s> PARSEOP_NAMESTRING 250 %token <i> PARSEOP_NAND 251 %token <i> PARSEOP_NOOP 252 %token <i> PARSEOP_NOR 253 %token <i> PARSEOP_NOT 254 %token <i> PARSEOP_NOTIFY 255 %token <i> PARSEOP_OBJECTTYPE 256 %token <i> PARSEOP_OBJECTTYPE_BFF 257 %token <i> PARSEOP_OBJECTTYPE_BUF 258 %token <i> PARSEOP_OBJECTTYPE_DDB 259 %token <i> PARSEOP_OBJECTTYPE_DEV 260 %token <i> PARSEOP_OBJECTTYPE_EVT 261 %token <i> PARSEOP_OBJECTTYPE_FLD 262 %token <i> PARSEOP_OBJECTTYPE_INT 263 %token <i> PARSEOP_OBJECTTYPE_MTH 264 %token <i> PARSEOP_OBJECTTYPE_MTX 265 %token <i> PARSEOP_OBJECTTYPE_OPR 266 %token <i> PARSEOP_OBJECTTYPE_PKG 267 %token <i> PARSEOP_OBJECTTYPE_POW 268 %token <i> PARSEOP_OBJECTTYPE_PRO 269 %token <i> PARSEOP_OBJECTTYPE_STR 270 %token <i> PARSEOP_OBJECTTYPE_THZ 271 %token <i> PARSEOP_OBJECTTYPE_UNK 272 %token <i> PARSEOP_OFFSET 273 %token <i> PARSEOP_ONE 274 %token <i> PARSEOP_ONES 275 %token <i> PARSEOP_OPERATIONREGION 276 %token <i> PARSEOP_OR 277 %token <i> PARSEOP_PACKAGE 278 %token <i> PARSEOP_PACKAGE_LENGTH 279 %token <i> PARSEOP_PARITYTYPE_EVEN 280 %token <i> PARSEOP_PARITYTYPE_MARK 281 %token <i> PARSEOP_PARITYTYPE_NONE 282 %token <i> PARSEOP_PARITYTYPE_ODD 283 %token <i> PARSEOP_PARITYTYPE_SPACE 284 %token <i> PARSEOP_PIN_NOPULL 285 %token <i> PARSEOP_PIN_PULLDEFAULT 286 %token <i> PARSEOP_PIN_PULLDOWN 287 %token <i> PARSEOP_PIN_PULLUP 288 %token <i> PARSEOP_POWERRESOURCE 289 %token <i> PARSEOP_PROCESSOR 290 %token <i> PARSEOP_QWORDCONST 291 %token <i> PARSEOP_QWORDIO 292 %token <i> PARSEOP_QWORDMEMORY 293 %token <i> PARSEOP_QWORDSPACE 294 %token <i> PARSEOP_RANGETYPE_ENTIRE 295 %token <i> PARSEOP_RANGETYPE_ISAONLY 296 %token <i> PARSEOP_RANGETYPE_NONISAONLY 297 %token <i> PARSEOP_RAW_DATA 298 %token <i> PARSEOP_READWRITETYPE_BOTH 299 %token <i> PARSEOP_READWRITETYPE_READONLY 300 %token <i> PARSEOP_REFOF 301 %token <i> PARSEOP_REGIONSPACE_CMOS 302 %token <i> PARSEOP_REGIONSPACE_EC 303 %token <i> PARSEOP_REGIONSPACE_FFIXEDHW 304 %token <i> PARSEOP_REGIONSPACE_GPIO 305 %token <i> PARSEOP_REGIONSPACE_GSBUS 306 %token <i> PARSEOP_REGIONSPACE_IO 307 %token <i> PARSEOP_REGIONSPACE_IPMI 308 %token <i> PARSEOP_REGIONSPACE_MEM 309 %token <i> PARSEOP_REGIONSPACE_PCC 310 %token <i> PARSEOP_REGIONSPACE_PCI 311 %token <i> PARSEOP_REGIONSPACE_PCIBAR 312 %token <i> PARSEOP_REGIONSPACE_SMBUS 313 %token <i> PARSEOP_REGISTER 314 %token <i> PARSEOP_RELEASE 315 %token <i> PARSEOP_RESERVED_BYTES 316 %token <i> PARSEOP_RESET 317 %token <i> PARSEOP_RESOURCETEMPLATE 318 %token <i> PARSEOP_RESOURCETYPE_CONSUMER 319 %token <i> PARSEOP_RESOURCETYPE_PRODUCER 320 %token <i> PARSEOP_RETURN 321 %token <i> PARSEOP_REVISION 322 %token <i> PARSEOP_SCOPE 323 %token <i> PARSEOP_SERIALIZERULE_NOTSERIAL 324 %token <i> PARSEOP_SERIALIZERULE_SERIAL 325 %token <i> PARSEOP_SHARETYPE_EXCLUSIVE 326 %token <i> PARSEOP_SHARETYPE_EXCLUSIVEWAKE 327 %token <i> PARSEOP_SHARETYPE_SHARED 328 %token <i> PARSEOP_SHARETYPE_SHAREDWAKE 329 %token <i> PARSEOP_SHIFTLEFT 330 %token <i> PARSEOP_SHIFTRIGHT 331 %token <i> PARSEOP_SIGNAL 332 %token <i> PARSEOP_SIZEOF 333 %token <i> PARSEOP_SLAVEMODE_CONTROLLERINIT 334 %token <i> PARSEOP_SLAVEMODE_DEVICEINIT 335 %token <i> PARSEOP_SLEEP 336 %token <i> PARSEOP_SPI_SERIALBUS 337 %token <i> PARSEOP_SPI_SERIALBUS_V2 338 %token <i> PARSEOP_STALL 339 %token <i> PARSEOP_STARTDEPENDENTFN 340 %token <i> PARSEOP_STARTDEPENDENTFN_NOPRI 341 %token <i> PARSEOP_STOPBITS_ONE 342 %token <i> PARSEOP_STOPBITS_ONEPLUSHALF 343 %token <i> PARSEOP_STOPBITS_TWO 344 %token <i> PARSEOP_STOPBITS_ZERO 345 %token <i> PARSEOP_STORE 346 %token <s> PARSEOP_STRING_LITERAL 347 %token <i> PARSEOP_SUBTRACT 348 %token <i> PARSEOP_SWITCH 349 %token <i> PARSEOP_THERMALZONE 350 %token <i> PARSEOP_TIMER 351 %token <i> PARSEOP_TOBCD 352 %token <i> PARSEOP_TOBUFFER 353 %token <i> PARSEOP_TODECIMALSTRING 354 %token <i> PARSEOP_TOHEXSTRING 355 %token <i> PARSEOP_TOINTEGER 356 %token <i> PARSEOP_TOSTRING 357 %token <i> PARSEOP_TOUUID 358 %token <i> PARSEOP_TRANSLATIONTYPE_DENSE 359 %token <i> PARSEOP_TRANSLATIONTYPE_SPARSE 360 %token <i> PARSEOP_TYPE_STATIC 361 %token <i> PARSEOP_TYPE_TRANSLATION 362 %token <i> PARSEOP_UART_SERIALBUS 363 %token <i> PARSEOP_UART_SERIALBUS_V2 364 %token <i> PARSEOP_UNICODE 365 %token <i> PARSEOP_UNLOAD 366 %token <i> PARSEOP_UPDATERULE_ONES 367 %token <i> PARSEOP_UPDATERULE_PRESERVE 368 %token <i> PARSEOP_UPDATERULE_ZEROS 369 %token <i> PARSEOP_VAR_PACKAGE 370 %token <i> PARSEOP_VENDORLONG 371 %token <i> PARSEOP_VENDORSHORT 372 %token <i> PARSEOP_WAIT 373 %token <i> PARSEOP_WHILE 374 %token <i> PARSEOP_WIREMODE_FOUR 375 %token <i> PARSEOP_WIREMODE_THREE 376 %token <i> PARSEOP_WORDBUSNUMBER 377 %token <i> PARSEOP_WORDCONST 378 %token <i> PARSEOP_WORDIO 379 %token <i> PARSEOP_WORDSPACE 380 %token <i> PARSEOP_XFERSIZE_8 381 %token <i> PARSEOP_XFERSIZE_16 382 %token <i> PARSEOP_XFERSIZE_32 383 %token <i> PARSEOP_XFERSIZE_64 384 %token <i> PARSEOP_XFERSIZE_128 385 %token <i> PARSEOP_XFERSIZE_256 386 %token <i> PARSEOP_XFERTYPE_8 387 %token <i> PARSEOP_XFERTYPE_8_16 388 %token <i> PARSEOP_XFERTYPE_16 389 %token <i> PARSEOP_XOR 390 %token <i> PARSEOP_ZERO 391 392 /* ToPld macro */ 393 394 %token <i> PARSEOP_TOPLD 395 %token <i> PARSEOP_PLD_REVISION 396 %token <i> PARSEOP_PLD_IGNORECOLOR 397 %token <i> PARSEOP_PLD_RED 398 %token <i> PARSEOP_PLD_GREEN 399 %token <i> PARSEOP_PLD_BLUE 400 %token <i> PARSEOP_PLD_WIDTH 401 %token <i> PARSEOP_PLD_HEIGHT 402 %token <i> PARSEOP_PLD_USERVISIBLE 403 %token <i> PARSEOP_PLD_DOCK 404 %token <i> PARSEOP_PLD_LID 405 %token <i> PARSEOP_PLD_PANEL 406 %token <i> PARSEOP_PLD_VERTICALPOSITION 407 %token <i> PARSEOP_PLD_HORIZONTALPOSITION 408 %token <i> PARSEOP_PLD_SHAPE 409 %token <i> PARSEOP_PLD_GROUPORIENTATION 410 %token <i> PARSEOP_PLD_GROUPTOKEN 411 %token <i> PARSEOP_PLD_GROUPPOSITION 412 %token <i> PARSEOP_PLD_BAY 413 %token <i> PARSEOP_PLD_EJECTABLE 414 %token <i> PARSEOP_PLD_EJECTREQUIRED 415 %token <i> PARSEOP_PLD_CABINETNUMBER 416 %token <i> PARSEOP_PLD_CARDCAGENUMBER 417 %token <i> PARSEOP_PLD_REFERENCE 418 %token <i> PARSEOP_PLD_ROTATION 419 %token <i> PARSEOP_PLD_ORDER 420 %token <i> PARSEOP_PLD_RESERVED 421 %token <i> PARSEOP_PLD_VERTICALOFFSET 422 %token <i> PARSEOP_PLD_HORIZONTALOFFSET 423 424 /* 425 * C-style expression parser. These must appear after all of the 426 * standard ASL operators and keywords. 427 * 428 * Note: The order of these tokens implements the precedence rules 429 * (low precedence to high). See aslrules.y for an exhaustive list. 430 */ 431 %right <i> PARSEOP_EXP_EQUALS 432 PARSEOP_EXP_ADD_EQ 433 PARSEOP_EXP_SUB_EQ 434 PARSEOP_EXP_MUL_EQ 435 PARSEOP_EXP_DIV_EQ 436 PARSEOP_EXP_MOD_EQ 437 PARSEOP_EXP_SHL_EQ 438 PARSEOP_EXP_SHR_EQ 439 PARSEOP_EXP_AND_EQ 440 PARSEOP_EXP_XOR_EQ 441 PARSEOP_EXP_OR_EQ 442 443 %left <i> PARSEOP_EXP_LOGICAL_OR 444 %left <i> PARSEOP_EXP_LOGICAL_AND 445 %left <i> PARSEOP_EXP_OR 446 %left <i> PARSEOP_EXP_XOR 447 %left <i> PARSEOP_EXP_AND 448 %left <i> PARSEOP_EXP_EQUAL 449 PARSEOP_EXP_NOT_EQUAL 450 %left <i> PARSEOP_EXP_GREATER 451 PARSEOP_EXP_LESS 452 PARSEOP_EXP_GREATER_EQUAL 453 PARSEOP_EXP_LESS_EQUAL 454 %left <i> PARSEOP_EXP_SHIFT_RIGHT 455 PARSEOP_EXP_SHIFT_LEFT 456 %left <i> PARSEOP_EXP_ADD 457 PARSEOP_EXP_SUBTRACT 458 %left <i> PARSEOP_EXP_MULTIPLY 459 PARSEOP_EXP_DIVIDE 460 PARSEOP_EXP_MODULO 461 462 %right <i> PARSEOP_EXP_NOT 463 PARSEOP_EXP_LOGICAL_NOT 464 465 %left <i> PARSEOP_EXP_INCREMENT 466 PARSEOP_EXP_DECREMENT 467 468 /* Brackets for Index() support */ 469 470 %left <i> PARSEOP_EXP_INDEX_LEFT 471 %right <i> PARSEOP_EXP_INDEX_RIGHT 472 473 /* Macros */ 474 475 %token <i> PARSEOP_PRINTF 476 %token <i> PARSEOP_FPRINTF 477 %token <i> PARSEOP_FOR 478 479 /* Structures */ 480 481 %token <i> PARSEOP_STRUCTURE 482 %token <s> PARSEOP_STRUCTURE_NAMESTRING 483 %token <i> PARSEOP_STRUCTURE_TAG 484 %token <i> PARSEOP_STRUCTURE_ELEMENT 485 %token <i> PARSEOP_STRUCTURE_INSTANCE 486 %token <i> PARSEOP_STRUCTURE_REFERENCE 487 %token <i> PARSEOP_STRUCTURE_POINTER 488 489 /* Top level */ 490 491 %token <i> PARSEOP_ASL_CODE 492 493 494 /******************************************************************************* 495 * 496 * Tokens below are not in the aslmap.c file 497 * 498 ******************************************************************************/ 499 500 501 /* Tokens below this are not in the aslmap.c file */ 502 503 /* Specific parentheses tokens are not used at this time */ 504 /* PARSEOP_EXP_PAREN_OPEN */ 505 /* PARSEOP_EXP_PAREN_CLOSE */ 506 507 /* ASL+ variable creation */ 508 509 %token <i> PARSEOP_INTEGER_TYPE 510 %token <i> PARSEOP_STRING_TYPE 511 %token <i> PARSEOP_BUFFER_TYPE 512 %token <i> PARSEOP_PACKAGE_TYPE 513 %token <i> PARSEOP_REFERENCE_TYPE 514 515 516 /* 517 * Special functions. These should probably stay at the end of this 518 * table. 519 */ 520 %token <i> PARSEOP___DATE__ 521 %token <i> PARSEOP___FILE__ 522 %token <i> PARSEOP___LINE__ 523 %token <i> PARSEOP___PATH__ 524