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