1 NoEcho(' 2 /****************************************************************************** 3 * 4 * Module Name: asltokens.y - Bison/Yacc token types 5 * 6 *****************************************************************************/ 7 8 /* 9 * Copyright (C) 2000 - 2020, 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_BYTES 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_PINCONFIG 285 %token <i> PARSEOP_PINFUNCTION 286 %token <i> PARSEOP_PINGROUP 287 %token <i> PARSEOP_PINGROUPCONFIG 288 %token <i> PARSEOP_PINGROUPFUNCTION 289 %token <i> PARSEOP_PIN_NOPULL 290 %token <i> PARSEOP_PIN_PULLDEFAULT 291 %token <i> PARSEOP_PIN_PULLDOWN 292 %token <i> PARSEOP_PIN_PULLUP 293 %token <i> PARSEOP_POWERRESOURCE 294 %token <i> PARSEOP_PROCESSOR 295 %token <i> PARSEOP_QWORDCONST 296 %token <i> PARSEOP_QWORDIO 297 %token <i> PARSEOP_QWORDMEMORY 298 %token <i> PARSEOP_QWORDSPACE 299 %token <i> PARSEOP_RANGETYPE_ENTIRE 300 %token <i> PARSEOP_RANGETYPE_ISAONLY 301 %token <i> PARSEOP_RANGETYPE_NONISAONLY 302 %token <i> PARSEOP_RAW_DATA 303 %token <i> PARSEOP_READWRITETYPE_BOTH 304 %token <i> PARSEOP_READWRITETYPE_READONLY 305 %token <i> PARSEOP_REFOF 306 %token <i> PARSEOP_REGIONSPACE_CMOS 307 %token <i> PARSEOP_REGIONSPACE_EC 308 %token <i> PARSEOP_REGIONSPACE_FFIXEDHW 309 %token <i> PARSEOP_REGIONSPACE_GPIO 310 %token <i> PARSEOP_REGIONSPACE_GSBUS 311 %token <i> PARSEOP_REGIONSPACE_IO 312 %token <i> PARSEOP_REGIONSPACE_IPMI 313 %token <i> PARSEOP_REGIONSPACE_MEM 314 %token <i> PARSEOP_REGIONSPACE_PCC 315 %token <i> PARSEOP_REGIONSPACE_PCI 316 %token <i> PARSEOP_REGIONSPACE_PCIBAR 317 %token <i> PARSEOP_REGIONSPACE_PRM 318 %token <i> PARSEOP_REGIONSPACE_SMBUS 319 %token <i> PARSEOP_REGISTER 320 %token <i> PARSEOP_RELEASE 321 %token <i> PARSEOP_RESERVED_BYTES 322 %token <i> PARSEOP_RESET 323 %token <i> PARSEOP_RESOURCETEMPLATE 324 %token <i> PARSEOP_RESOURCETYPE_CONSUMER 325 %token <i> PARSEOP_RESOURCETYPE_PRODUCER 326 %token <i> PARSEOP_RETURN 327 %token <i> PARSEOP_REVISION 328 %token <i> PARSEOP_SCOPE 329 %token <i> PARSEOP_SERIALIZERULE_NOTSERIAL 330 %token <i> PARSEOP_SERIALIZERULE_SERIAL 331 %token <i> PARSEOP_SHARETYPE_EXCLUSIVE 332 %token <i> PARSEOP_SHARETYPE_EXCLUSIVEWAKE 333 %token <i> PARSEOP_SHARETYPE_SHARED 334 %token <i> PARSEOP_SHARETYPE_SHAREDWAKE 335 %token <i> PARSEOP_SHIFTLEFT 336 %token <i> PARSEOP_SHIFTRIGHT 337 %token <i> PARSEOP_SIGNAL 338 %token <i> PARSEOP_SIZEOF 339 %token <i> PARSEOP_SLAVEMODE_CONTROLLERINIT 340 %token <i> PARSEOP_SLAVEMODE_DEVICEINIT 341 %token <i> PARSEOP_SLEEP 342 %token <i> PARSEOP_SPI_SERIALBUS 343 %token <i> PARSEOP_SPI_SERIALBUS_V2 344 %token <i> PARSEOP_STALL 345 %token <i> PARSEOP_STARTDEPENDENTFN 346 %token <i> PARSEOP_STARTDEPENDENTFN_NOPRI 347 %token <i> PARSEOP_STOPBITS_ONE 348 %token <i> PARSEOP_STOPBITS_ONEPLUSHALF 349 %token <i> PARSEOP_STOPBITS_TWO 350 %token <i> PARSEOP_STOPBITS_ZERO 351 %token <i> PARSEOP_STORE 352 %token <s> PARSEOP_STRING_LITERAL 353 %token <i> PARSEOP_SUBTRACT 354 %token <i> PARSEOP_SWITCH 355 %token <i> PARSEOP_THERMALZONE 356 %token <i> PARSEOP_TIMER 357 %token <i> PARSEOP_TOBCD 358 %token <i> PARSEOP_TOBUFFER 359 %token <i> PARSEOP_TODECIMALSTRING 360 %token <i> PARSEOP_TOHEXSTRING 361 %token <i> PARSEOP_TOINTEGER 362 %token <i> PARSEOP_TOSTRING 363 %token <i> PARSEOP_TOUUID 364 %token <i> PARSEOP_TRANSLATIONTYPE_DENSE 365 %token <i> PARSEOP_TRANSLATIONTYPE_SPARSE 366 %token <i> PARSEOP_TYPE_STATIC 367 %token <i> PARSEOP_TYPE_TRANSLATION 368 %token <i> PARSEOP_UART_SERIALBUS 369 %token <i> PARSEOP_UART_SERIALBUS_V2 370 %token <i> PARSEOP_UNICODE 371 %token <i> PARSEOP_UNLOAD 372 %token <i> PARSEOP_UPDATERULE_ONES 373 %token <i> PARSEOP_UPDATERULE_PRESERVE 374 %token <i> PARSEOP_UPDATERULE_ZEROS 375 %token <i> PARSEOP_VAR_PACKAGE 376 %token <i> PARSEOP_VENDORLONG 377 %token <i> PARSEOP_VENDORSHORT 378 %token <i> PARSEOP_WAIT 379 %token <i> PARSEOP_WHILE 380 %token <i> PARSEOP_WIREMODE_FOUR 381 %token <i> PARSEOP_WIREMODE_THREE 382 %token <i> PARSEOP_WORDBUSNUMBER 383 %token <i> PARSEOP_WORDCONST 384 %token <i> PARSEOP_WORDIO 385 %token <i> PARSEOP_WORDSPACE 386 %token <i> PARSEOP_XFERSIZE_8 387 %token <i> PARSEOP_XFERSIZE_16 388 %token <i> PARSEOP_XFERSIZE_32 389 %token <i> PARSEOP_XFERSIZE_64 390 %token <i> PARSEOP_XFERSIZE_128 391 %token <i> PARSEOP_XFERSIZE_256 392 %token <i> PARSEOP_XFERTYPE_8 393 %token <i> PARSEOP_XFERTYPE_8_16 394 %token <i> PARSEOP_XFERTYPE_16 395 %token <i> PARSEOP_XOR 396 %token <i> PARSEOP_ZERO 397 398 /* ToPld macro */ 399 400 %token <i> PARSEOP_TOPLD 401 %token <i> PARSEOP_PLD_REVISION 402 %token <i> PARSEOP_PLD_IGNORECOLOR 403 %token <i> PARSEOP_PLD_RED 404 %token <i> PARSEOP_PLD_GREEN 405 %token <i> PARSEOP_PLD_BLUE 406 %token <i> PARSEOP_PLD_WIDTH 407 %token <i> PARSEOP_PLD_HEIGHT 408 %token <i> PARSEOP_PLD_USERVISIBLE 409 %token <i> PARSEOP_PLD_DOCK 410 %token <i> PARSEOP_PLD_LID 411 %token <i> PARSEOP_PLD_PANEL 412 %token <i> PARSEOP_PLD_VERTICALPOSITION 413 %token <i> PARSEOP_PLD_HORIZONTALPOSITION 414 %token <i> PARSEOP_PLD_SHAPE 415 %token <i> PARSEOP_PLD_GROUPORIENTATION 416 %token <i> PARSEOP_PLD_GROUPTOKEN 417 %token <i> PARSEOP_PLD_GROUPPOSITION 418 %token <i> PARSEOP_PLD_BAY 419 %token <i> PARSEOP_PLD_EJECTABLE 420 %token <i> PARSEOP_PLD_EJECTREQUIRED 421 %token <i> PARSEOP_PLD_CABINETNUMBER 422 %token <i> PARSEOP_PLD_CARDCAGENUMBER 423 %token <i> PARSEOP_PLD_REFERENCE 424 %token <i> PARSEOP_PLD_ROTATION 425 %token <i> PARSEOP_PLD_ORDER 426 %token <i> PARSEOP_PLD_RESERVED 427 %token <i> PARSEOP_PLD_VERTICALOFFSET 428 %token <i> PARSEOP_PLD_HORIZONTALOFFSET 429 430 /* 431 * C-style expression parser. These must appear after all of the 432 * standard ASL operators and keywords. 433 * 434 * Note: The order of these tokens implements the precedence rules 435 * (low precedence to high). See aslrules.y for an exhaustive list. 436 */ 437 %right <i> PARSEOP_EXP_EQUALS 438 PARSEOP_EXP_ADD_EQ 439 PARSEOP_EXP_SUB_EQ 440 PARSEOP_EXP_MUL_EQ 441 PARSEOP_EXP_DIV_EQ 442 PARSEOP_EXP_MOD_EQ 443 PARSEOP_EXP_SHL_EQ 444 PARSEOP_EXP_SHR_EQ 445 PARSEOP_EXP_AND_EQ 446 PARSEOP_EXP_XOR_EQ 447 PARSEOP_EXP_OR_EQ 448 449 %left <i> PARSEOP_EXP_LOGICAL_OR 450 %left <i> PARSEOP_EXP_LOGICAL_AND 451 %left <i> PARSEOP_EXP_OR 452 %left <i> PARSEOP_EXP_XOR 453 %left <i> PARSEOP_EXP_AND 454 %left <i> PARSEOP_EXP_EQUAL 455 PARSEOP_EXP_NOT_EQUAL 456 %left <i> PARSEOP_EXP_GREATER 457 PARSEOP_EXP_LESS 458 PARSEOP_EXP_GREATER_EQUAL 459 PARSEOP_EXP_LESS_EQUAL 460 %left <i> PARSEOP_EXP_SHIFT_RIGHT 461 PARSEOP_EXP_SHIFT_LEFT 462 %left <i> PARSEOP_EXP_ADD 463 PARSEOP_EXP_SUBTRACT 464 %left <i> PARSEOP_EXP_MULTIPLY 465 PARSEOP_EXP_DIVIDE 466 PARSEOP_EXP_MODULO 467 468 %right <i> PARSEOP_EXP_NOT 469 PARSEOP_EXP_LOGICAL_NOT 470 471 %left <i> PARSEOP_EXP_INCREMENT 472 PARSEOP_EXP_DECREMENT 473 474 %left <i> PARSEOP_OPEN_PAREN 475 PARSEOP_CLOSE_PAREN 476 477 /* Brackets for Index() support */ 478 479 %left <i> PARSEOP_EXP_INDEX_LEFT 480 %right <i> PARSEOP_EXP_INDEX_RIGHT 481 482 /* Macros */ 483 484 %token <i> PARSEOP_PRINTF 485 %token <i> PARSEOP_FPRINTF 486 %token <i> PARSEOP_FOR 487 488 /* Structures */ 489 490 %token <i> PARSEOP_STRUCTURE 491 %token <s> PARSEOP_STRUCTURE_NAMESTRING 492 %token <i> PARSEOP_STRUCTURE_TAG 493 %token <i> PARSEOP_STRUCTURE_ELEMENT 494 %token <i> PARSEOP_STRUCTURE_INSTANCE 495 %token <i> PARSEOP_STRUCTURE_REFERENCE 496 %token <i> PARSEOP_STRUCTURE_POINTER 497 498 /* Top level */ 499 500 %token <i> PARSEOP_ASL_CODE 501 502 503 /******************************************************************************* 504 * 505 * Tokens below are not in the aslmap.c file 506 * 507 ******************************************************************************/ 508 509 510 /* Tokens below this are not in the aslmap.c file */ 511 512 /* Specific parentheses tokens are not used at this time */ 513 /* PARSEOP_EXP_PAREN_OPEN */ 514 /* PARSEOP_EXP_PAREN_CLOSE */ 515 516 /* ASL+ variable creation */ 517 518 %token <i> PARSEOP_INTEGER_TYPE 519 %token <i> PARSEOP_STRING_TYPE 520 %token <i> PARSEOP_BUFFER_TYPE 521 %token <i> PARSEOP_PACKAGE_TYPE 522 %token <i> PARSEOP_REFERENCE_TYPE 523 524 525 /* 526 * Special functions. These should probably stay at the end of this 527 * table. 528 */ 529 %token <i> PARSEOP___DATE__ 530 %token <i> PARSEOP___FILE__ 531 %token <i> PARSEOP___LINE__ 532 %token <i> PARSEOP___PATH__ 533 %token <i> PARSEOP___METHOD__ 534