asltypes.y revision 271440
1271440SjkimNoEcho('
2271440Sjkim/******************************************************************************
3271440Sjkim *
4271440Sjkim * Module Name: asltypes.y - Bison/Yacc production types/names
5271440Sjkim *
6271440Sjkim *****************************************************************************/
7271440Sjkim
8271440Sjkim/*
9271440Sjkim * Copyright (C) 2000 - 2014, Intel Corp.
10271440Sjkim * All rights reserved.
11271440Sjkim *
12271440Sjkim * Redistribution and use in source and binary forms, with or without
13271440Sjkim * modification, are permitted provided that the following conditions
14271440Sjkim * are met:
15271440Sjkim * 1. Redistributions of source code must retain the above copyright
16271440Sjkim *    notice, this list of conditions, and the following disclaimer,
17271440Sjkim *    without modification.
18271440Sjkim * 2. Redistributions in binary form must reproduce at minimum a disclaimer
19271440Sjkim *    substantially similar to the "NO WARRANTY" disclaimer below
20271440Sjkim *    ("Disclaimer") and any redistribution must be conditioned upon
21271440Sjkim *    including a substantially similar Disclaimer requirement for further
22271440Sjkim *    binary redistribution.
23271440Sjkim * 3. Neither the names of the above-listed copyright holders nor the names
24271440Sjkim *    of any contributors may be used to endorse or promote products derived
25271440Sjkim *    from this software without specific prior written permission.
26271440Sjkim *
27271440Sjkim * Alternatively, this software may be distributed under the terms of the
28271440Sjkim * GNU General Public License ("GPL") version 2 as published by the Free
29271440Sjkim * Software Foundation.
30271440Sjkim *
31271440Sjkim * NO WARRANTY
32271440Sjkim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33271440Sjkim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34271440Sjkim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
35271440Sjkim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36271440Sjkim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37271440Sjkim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38271440Sjkim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39271440Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40271440Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41271440Sjkim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42271440Sjkim * POSSIBILITY OF SUCH DAMAGES.
43271440Sjkim */
44271440Sjkim
45271440Sjkim')
46271440Sjkim
47271440Sjkim/******************************************************************************
48271440Sjkim *
49271440Sjkim * Production names
50271440Sjkim *
51271440Sjkim *****************************************************************************/
52271440Sjkim
53271440Sjkim%type <n> ArgList
54271440Sjkim%type <n> ASLCode
55271440Sjkim%type <n> BufferData
56271440Sjkim%type <n> BufferTermData
57271440Sjkim%type <n> CompilerDirective
58271440Sjkim%type <n> DataObject
59271440Sjkim%type <n> DefinitionBlockTerm
60271440Sjkim%type <n> IntegerData
61271440Sjkim%type <n> NamedObject
62271440Sjkim%type <n> NameSpaceModifier
63271440Sjkim%type <n> Object
64271440Sjkim%type <n> ObjectList
65271440Sjkim%type <n> PackageData
66271440Sjkim%type <n> ParameterTypePackage
67271440Sjkim%type <n> ParameterTypePackageList
68271440Sjkim%type <n> ParameterTypesPackage
69271440Sjkim%type <n> ParameterTypesPackageList
70271440Sjkim%type <n> RequiredTarget
71271440Sjkim%type <n> SimpleTarget
72271440Sjkim%type <n> StringData
73271440Sjkim%type <n> Target
74271440Sjkim%type <n> Term
75271440Sjkim%type <n> TermArg
76271440Sjkim%type <n> TermList
77271440Sjkim%type <n> UserTerm
78271440Sjkim
79271440Sjkim/* Type4Opcode is obsolete */
80271440Sjkim
81271440Sjkim%type <n> Type1Opcode
82271440Sjkim%type <n> Type2BufferOpcode
83271440Sjkim%type <n> Type2BufferOrStringOpcode
84271440Sjkim%type <n> Type2IntegerOpcode
85271440Sjkim%type <n> Type2Opcode
86271440Sjkim%type <n> Type2StringOpcode
87271440Sjkim%type <n> Type3Opcode
88271440Sjkim%type <n> Type5Opcode
89271440Sjkim%type <n> Type6Opcode
90271440Sjkim
91271440Sjkim%type <n> AccessAsTerm
92271440Sjkim%type <n> ExternalTerm
93271440Sjkim%type <n> FieldUnit
94271440Sjkim%type <n> FieldUnitEntry
95271440Sjkim%type <n> FieldUnitList
96271440Sjkim%type <n> IncludeTerm
97271440Sjkim%type <n> OffsetTerm
98271440Sjkim%type <n> OptionalAccessAttribTerm
99271440Sjkim
100271440Sjkim/* Named Objects */
101271440Sjkim
102271440Sjkim%type <n> BankFieldTerm
103271440Sjkim%type <n> CreateBitFieldTerm
104271440Sjkim%type <n> CreateByteFieldTerm
105271440Sjkim%type <n> CreateDWordFieldTerm
106271440Sjkim%type <n> CreateFieldTerm
107271440Sjkim%type <n> CreateQWordFieldTerm
108271440Sjkim%type <n> CreateWordFieldTerm
109271440Sjkim%type <n> DataRegionTerm
110271440Sjkim%type <n> DeviceTerm
111271440Sjkim%type <n> EventTerm
112271440Sjkim%type <n> FieldTerm
113271440Sjkim%type <n> FunctionTerm
114271440Sjkim%type <n> IndexFieldTerm
115271440Sjkim%type <n> MethodTerm
116271440Sjkim%type <n> MutexTerm
117271440Sjkim%type <n> OpRegionTerm
118271440Sjkim%type <n> OpRegionSpaceIdTerm
119271440Sjkim%type <n> PowerResTerm
120271440Sjkim%type <n> ProcessorTerm
121271440Sjkim%type <n> ThermalZoneTerm
122271440Sjkim
123271440Sjkim/* Namespace modifiers */
124271440Sjkim
125271440Sjkim%type <n> AliasTerm
126271440Sjkim%type <n> NameTerm
127271440Sjkim%type <n> ScopeTerm
128271440Sjkim
129271440Sjkim/* Type 1 opcodes */
130271440Sjkim
131271440Sjkim%type <n> BreakPointTerm
132271440Sjkim%type <n> BreakTerm
133271440Sjkim%type <n> CaseDefaultTermList
134271440Sjkim%type <n> CaseTerm
135271440Sjkim%type <n> ContinueTerm
136271440Sjkim%type <n> DefaultTerm
137271440Sjkim%type <n> ElseTerm
138271440Sjkim%type <n> FatalTerm
139271440Sjkim%type <n> IfElseTerm
140271440Sjkim%type <n> IfTerm
141271440Sjkim%type <n> LoadTerm
142271440Sjkim%type <n> NoOpTerm
143271440Sjkim%type <n> NotifyTerm
144271440Sjkim%type <n> ReleaseTerm
145271440Sjkim%type <n> ResetTerm
146271440Sjkim%type <n> ReturnTerm
147271440Sjkim%type <n> SignalTerm
148271440Sjkim%type <n> SleepTerm
149271440Sjkim%type <n> StallTerm
150271440Sjkim%type <n> SwitchTerm
151271440Sjkim%type <n> UnloadTerm
152271440Sjkim%type <n> WhileTerm
153271440Sjkim/* %type <n> CaseTermList */
154271440Sjkim
155271440Sjkim/* Type 2 opcodes */
156271440Sjkim
157271440Sjkim%type <n> AcquireTerm
158271440Sjkim%type <n> AddTerm
159271440Sjkim%type <n> AndTerm
160271440Sjkim%type <n> ConcatResTerm
161271440Sjkim%type <n> ConcatTerm
162271440Sjkim%type <n> CondRefOfTerm
163271440Sjkim%type <n> CopyObjectTerm
164271440Sjkim%type <n> DecTerm
165271440Sjkim%type <n> DerefOfTerm
166271440Sjkim%type <n> DivideTerm
167271440Sjkim%type <n> FindSetLeftBitTerm
168271440Sjkim%type <n> FindSetRightBitTerm
169271440Sjkim%type <n> FromBCDTerm
170271440Sjkim%type <n> IncTerm
171271440Sjkim%type <n> IndexTerm
172271440Sjkim%type <n> LAndTerm
173271440Sjkim%type <n> LEqualTerm
174271440Sjkim%type <n> LGreaterEqualTerm
175271440Sjkim%type <n> LGreaterTerm
176271440Sjkim%type <n> LLessEqualTerm
177271440Sjkim%type <n> LLessTerm
178271440Sjkim%type <n> LNotEqualTerm
179271440Sjkim%type <n> LNotTerm
180271440Sjkim%type <n> LoadTableTerm
181271440Sjkim%type <n> LOrTerm
182271440Sjkim%type <n> MatchTerm
183271440Sjkim%type <n> MidTerm
184271440Sjkim%type <n> ModTerm
185271440Sjkim%type <n> MultiplyTerm
186271440Sjkim%type <n> NAndTerm
187271440Sjkim%type <n> NOrTerm
188271440Sjkim%type <n> NotTerm
189271440Sjkim%type <n> ObjectTypeTerm
190271440Sjkim%type <n> OrTerm
191271440Sjkim%type <n> RefOfTerm
192271440Sjkim%type <n> ShiftLeftTerm
193271440Sjkim%type <n> ShiftRightTerm
194271440Sjkim%type <n> SizeOfTerm
195271440Sjkim%type <n> StoreTerm
196271440Sjkim%type <n> SubtractTerm
197271440Sjkim%type <n> TimerTerm
198271440Sjkim%type <n> ToBCDTerm
199271440Sjkim%type <n> ToBufferTerm
200271440Sjkim%type <n> ToDecimalStringTerm
201271440Sjkim%type <n> ToHexStringTerm
202271440Sjkim%type <n> ToIntegerTerm
203271440Sjkim%type <n> ToStringTerm
204271440Sjkim%type <n> WaitTerm
205271440Sjkim%type <n> XOrTerm
206271440Sjkim
207271440Sjkim/* Keywords */
208271440Sjkim
209271440Sjkim%type <n> AccessAttribKeyword
210271440Sjkim%type <n> AccessTypeKeyword
211271440Sjkim%type <n> AddressingModeKeyword
212271440Sjkim%type <n> AddressKeyword
213271440Sjkim%type <n> AddressSpaceKeyword
214271440Sjkim%type <n> BitsPerByteKeyword
215271440Sjkim%type <n> ClockPhaseKeyword
216271440Sjkim%type <n> ClockPolarityKeyword
217271440Sjkim%type <n> DecodeKeyword
218271440Sjkim%type <n> DevicePolarityKeyword
219271440Sjkim%type <n> DMATypeKeyword
220271440Sjkim%type <n> EndianKeyword
221271440Sjkim%type <n> FlowControlKeyword
222271440Sjkim%type <n> InterruptLevel
223271440Sjkim%type <n> InterruptTypeKeyword
224271440Sjkim%type <n> IODecodeKeyword
225271440Sjkim%type <n> IoRestrictionKeyword
226271440Sjkim%type <n> LockRuleKeyword
227271440Sjkim%type <n> MatchOpKeyword
228271440Sjkim%type <n> MaxKeyword
229271440Sjkim%type <n> MemTypeKeyword
230271440Sjkim%type <n> MinKeyword
231271440Sjkim%type <n> ObjectTypeKeyword
232271440Sjkim%type <n> OptionalBusMasterKeyword
233271440Sjkim%type <n> OptionalReadWriteKeyword
234271440Sjkim%type <n> ParityTypeKeyword
235271440Sjkim%type <n> PinConfigByte
236271440Sjkim%type <n> PinConfigKeyword
237271440Sjkim%type <n> RangeTypeKeyword
238271440Sjkim%type <n> RegionSpaceKeyword
239271440Sjkim%type <n> ResourceTypeKeyword
240271440Sjkim%type <n> SerializeRuleKeyword
241271440Sjkim%type <n> ShareTypeKeyword
242271440Sjkim%type <n> SlaveModeKeyword
243271440Sjkim%type <n> StopBitsKeyword
244271440Sjkim%type <n> TranslationKeyword
245271440Sjkim%type <n> TypeKeyword
246271440Sjkim%type <n> UpdateRuleKeyword
247271440Sjkim%type <n> WireModeKeyword
248271440Sjkim%type <n> XferSizeKeyword
249271440Sjkim%type <n> XferTypeKeyword
250271440Sjkim
251271440Sjkim/* Types */
252271440Sjkim
253271440Sjkim%type <n> SuperName
254271440Sjkim%type <n> ObjectTypeName
255271440Sjkim%type <n> ArgTerm
256271440Sjkim%type <n> LocalTerm
257271440Sjkim%type <n> DebugTerm
258271440Sjkim
259271440Sjkim%type <n> Integer
260271440Sjkim%type <n> ByteConst
261271440Sjkim%type <n> WordConst
262271440Sjkim%type <n> DWordConst
263271440Sjkim%type <n> QWordConst
264271440Sjkim%type <n> String
265271440Sjkim
266271440Sjkim%type <n> ConstTerm
267271440Sjkim%type <n> ConstExprTerm
268271440Sjkim%type <n> ByteConstExpr
269271440Sjkim%type <n> WordConstExpr
270271440Sjkim%type <n> DWordConstExpr
271271440Sjkim%type <n> QWordConstExpr
272271440Sjkim
273271440Sjkim%type <n> DWordList
274271440Sjkim%type <n> BufferTerm
275271440Sjkim%type <n> ByteList
276271440Sjkim
277271440Sjkim%type <n> PackageElement
278271440Sjkim%type <n> PackageList
279271440Sjkim%type <n> PackageTerm
280271440Sjkim%type <n> VarPackageLengthTerm
281271440Sjkim
282271440Sjkim/* Macros */
283271440Sjkim
284271440Sjkim%type <n> EISAIDTerm
285271440Sjkim%type <n> ResourceMacroList
286271440Sjkim%type <n> ResourceMacroTerm
287271440Sjkim%type <n> ResourceTemplateTerm
288271440Sjkim%type <n> ToUUIDTerm
289271440Sjkim%type <n> UnicodeTerm
290271440Sjkim
291271440Sjkim/* Resource Descriptors */
292271440Sjkim
293271440Sjkim%type <n> ConnectionTerm
294271440Sjkim%type <n> DataBufferTerm
295271440Sjkim%type <n> DMATerm
296271440Sjkim%type <n> DWordIOTerm
297271440Sjkim%type <n> DWordMemoryTerm
298271440Sjkim%type <n> DWordSpaceTerm
299271440Sjkim%type <n> EndDependentFnTerm
300271440Sjkim%type <n> ExtendedIOTerm
301271440Sjkim%type <n> ExtendedMemoryTerm
302271440Sjkim%type <n> ExtendedSpaceTerm
303271440Sjkim%type <n> FixedDmaTerm
304271440Sjkim%type <n> FixedIOTerm
305271440Sjkim%type <n> GpioIntTerm
306271440Sjkim%type <n> GpioIoTerm
307271440Sjkim%type <n> I2cSerialBusTerm
308271440Sjkim%type <n> InterruptTerm
309271440Sjkim%type <n> IOTerm
310271440Sjkim%type <n> IRQNoFlagsTerm
311271440Sjkim%type <n> IRQTerm
312271440Sjkim%type <n> Memory24Term
313271440Sjkim%type <n> Memory32FixedTerm
314271440Sjkim%type <n> Memory32Term
315271440Sjkim%type <n> NameSeg
316271440Sjkim%type <n> NameString
317271440Sjkim%type <n> QWordIOTerm
318271440Sjkim%type <n> QWordMemoryTerm
319271440Sjkim%type <n> QWordSpaceTerm
320271440Sjkim%type <n> RegisterTerm
321271440Sjkim%type <n> SpiSerialBusTerm
322271440Sjkim%type <n> StartDependentFnNoPriTerm
323271440Sjkim%type <n> StartDependentFnTerm
324271440Sjkim%type <n> UartSerialBusTerm
325271440Sjkim%type <n> VendorLongTerm
326271440Sjkim%type <n> VendorShortTerm
327271440Sjkim%type <n> WordBusNumberTerm
328271440Sjkim%type <n> WordIOTerm
329271440Sjkim%type <n> WordSpaceTerm
330271440Sjkim
331271440Sjkim/* Local types that help construct the AML, not in ACPI spec */
332271440Sjkim
333271440Sjkim%type <n> AmlPackageLengthTerm
334271440Sjkim%type <n> IncludeEndTerm
335271440Sjkim%type <n> NameStringItem
336271440Sjkim%type <n> TermArgItem
337271440Sjkim
338271440Sjkim%type <n> OptionalAccessSize
339271440Sjkim%type <n> OptionalAddressingMode
340271440Sjkim%type <n> OptionalAddressRange
341271440Sjkim%type <n> OptionalBitsPerByte
342271440Sjkim%type <n> OptionalBuffer_Last
343271440Sjkim%type <n> OptionalByteConstExpr
344271440Sjkim%type <n> OptionalCount
345271440Sjkim%type <n> OptionalDecodeType
346271440Sjkim%type <n> OptionalDevicePolarity
347271440Sjkim%type <n> OptionalDWordConstExpr
348271440Sjkim%type <n> OptionalEndian
349271440Sjkim%type <n> OptionalFlowControl
350271440Sjkim%type <n> OptionalIoRestriction
351271440Sjkim%type <n> OptionalListString
352271440Sjkim%type <n> OptionalMaxType
353271440Sjkim%type <n> OptionalMemType
354271440Sjkim%type <n> OptionalMinType
355271440Sjkim%type <n> OptionalNameString
356271440Sjkim%type <n> OptionalNameString_First
357271440Sjkim%type <n> OptionalNameString_Last
358271440Sjkim%type <n> OptionalObjectTypeKeyword
359271440Sjkim%type <n> OptionalParameterTypePackage
360271440Sjkim%type <n> OptionalParameterTypesPackage
361271440Sjkim%type <n> OptionalParityType
362271440Sjkim%type <n> OptionalQWordConstExpr
363271440Sjkim%type <n> OptionalRangeType
364271440Sjkim%type <n> OptionalReference
365271440Sjkim%type <n> OptionalResourceType
366271440Sjkim%type <n> OptionalResourceType_First
367271440Sjkim%type <n> OptionalReturnArg
368271440Sjkim%type <n> OptionalSerializeRuleKeyword
369271440Sjkim%type <n> OptionalShareType
370271440Sjkim%type <n> OptionalShareType_First
371271440Sjkim%type <n> OptionalSlaveMode
372271440Sjkim%type <n> OptionalStopBits
373271440Sjkim%type <n> OptionalStringData
374271440Sjkim%type <n> OptionalTermArg
375271440Sjkim%type <n> OptionalTranslationType_Last
376271440Sjkim%type <n> OptionalType
377271440Sjkim%type <n> OptionalType_Last
378271440Sjkim%type <n> OptionalWireMode
379271440Sjkim%type <n> OptionalWordConst
380271440Sjkim%type <n> OptionalWordConstExpr
381271440Sjkim%type <n> OptionalXferSize
382