1271440SjkimNoEcho('
2271440Sjkim/******************************************************************************
3271440Sjkim *
4271440Sjkim * Module Name: asltypes.y - Bison/Yacc production types/names
5271440Sjkim *
6271440Sjkim *****************************************************************************/
7271440Sjkim
8271440Sjkim/*
9306536Sjkim * Copyright (C) 2000 - 2016, 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
54306536Sjkim%type <n> AslCode
55271440Sjkim%type <n> BufferData
56271440Sjkim%type <n> BufferTermData
57271440Sjkim%type <n> CompilerDirective
58271440Sjkim%type <n> DataObject
59271440Sjkim%type <n> DefinitionBlockTerm
60306536Sjkim%type <n> DefinitionBlockList
61271440Sjkim%type <n> IntegerData
62271440Sjkim%type <n> NamedObject
63271440Sjkim%type <n> NameSpaceModifier
64271440Sjkim%type <n> Object
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
77281687Sjkim%type <n> MethodInvocationTerm
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
139306536Sjkim%type <n> ElseIfTerm
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
191306536Sjkim%type <n> RawDataBufferTerm
192271440Sjkim%type <n> RefOfTerm
193271440Sjkim%type <n> ShiftLeftTerm
194271440Sjkim%type <n> ShiftRightTerm
195271440Sjkim%type <n> SizeOfTerm
196271440Sjkim%type <n> StoreTerm
197271440Sjkim%type <n> SubtractTerm
198271440Sjkim%type <n> TimerTerm
199271440Sjkim%type <n> ToBCDTerm
200271440Sjkim%type <n> ToBufferTerm
201271440Sjkim%type <n> ToDecimalStringTerm
202271440Sjkim%type <n> ToHexStringTerm
203271440Sjkim%type <n> ToIntegerTerm
204271440Sjkim%type <n> ToStringTerm
205271440Sjkim%type <n> WaitTerm
206271440Sjkim%type <n> XOrTerm
207271440Sjkim
208271440Sjkim/* Keywords */
209271440Sjkim
210271440Sjkim%type <n> AccessAttribKeyword
211271440Sjkim%type <n> AccessTypeKeyword
212271440Sjkim%type <n> AddressingModeKeyword
213271440Sjkim%type <n> AddressKeyword
214271440Sjkim%type <n> AddressSpaceKeyword
215271440Sjkim%type <n> BitsPerByteKeyword
216271440Sjkim%type <n> ClockPhaseKeyword
217271440Sjkim%type <n> ClockPolarityKeyword
218271440Sjkim%type <n> DecodeKeyword
219271440Sjkim%type <n> DevicePolarityKeyword
220271440Sjkim%type <n> DMATypeKeyword
221271440Sjkim%type <n> EndianKeyword
222271440Sjkim%type <n> FlowControlKeyword
223271440Sjkim%type <n> InterruptLevel
224271440Sjkim%type <n> InterruptTypeKeyword
225271440Sjkim%type <n> IODecodeKeyword
226271440Sjkim%type <n> IoRestrictionKeyword
227271440Sjkim%type <n> LockRuleKeyword
228271440Sjkim%type <n> MatchOpKeyword
229271440Sjkim%type <n> MaxKeyword
230271440Sjkim%type <n> MemTypeKeyword
231271440Sjkim%type <n> MinKeyword
232271440Sjkim%type <n> ObjectTypeKeyword
233271440Sjkim%type <n> OptionalBusMasterKeyword
234271440Sjkim%type <n> OptionalReadWriteKeyword
235271440Sjkim%type <n> ParityTypeKeyword
236271440Sjkim%type <n> PinConfigByte
237271440Sjkim%type <n> PinConfigKeyword
238271440Sjkim%type <n> RangeTypeKeyword
239271440Sjkim%type <n> RegionSpaceKeyword
240271440Sjkim%type <n> ResourceTypeKeyword
241271440Sjkim%type <n> SerializeRuleKeyword
242271440Sjkim%type <n> ShareTypeKeyword
243271440Sjkim%type <n> SlaveModeKeyword
244271440Sjkim%type <n> StopBitsKeyword
245271440Sjkim%type <n> TranslationKeyword
246271440Sjkim%type <n> TypeKeyword
247271440Sjkim%type <n> UpdateRuleKeyword
248271440Sjkim%type <n> WireModeKeyword
249271440Sjkim%type <n> XferSizeKeyword
250271440Sjkim%type <n> XferTypeKeyword
251271440Sjkim
252271440Sjkim/* Types */
253271440Sjkim
254271440Sjkim%type <n> SuperName
255271440Sjkim%type <n> ObjectTypeName
256271440Sjkim%type <n> ArgTerm
257271440Sjkim%type <n> LocalTerm
258271440Sjkim%type <n> DebugTerm
259271440Sjkim
260271440Sjkim%type <n> Integer
261271440Sjkim%type <n> ByteConst
262271440Sjkim%type <n> WordConst
263271440Sjkim%type <n> DWordConst
264271440Sjkim%type <n> QWordConst
265271440Sjkim%type <n> String
266271440Sjkim
267271440Sjkim%type <n> ConstTerm
268271440Sjkim%type <n> ConstExprTerm
269271440Sjkim%type <n> ByteConstExpr
270271440Sjkim%type <n> WordConstExpr
271271440Sjkim%type <n> DWordConstExpr
272271440Sjkim%type <n> QWordConstExpr
273271440Sjkim
274271440Sjkim%type <n> DWordList
275271440Sjkim%type <n> BufferTerm
276271440Sjkim%type <n> ByteList
277271440Sjkim
278271440Sjkim%type <n> PackageElement
279271440Sjkim%type <n> PackageList
280271440Sjkim%type <n> PackageTerm
281271440Sjkim%type <n> VarPackageLengthTerm
282271440Sjkim
283271440Sjkim/* Macros */
284271440Sjkim
285271440Sjkim%type <n> EISAIDTerm
286271440Sjkim%type <n> ResourceMacroList
287271440Sjkim%type <n> ResourceMacroTerm
288271440Sjkim%type <n> ResourceTemplateTerm
289281075Sdim%type <n> PldKeyword
290281075Sdim%type <n> PldKeywordList
291281075Sdim%type <n> ToPLDTerm
292271440Sjkim%type <n> ToUUIDTerm
293271440Sjkim%type <n> UnicodeTerm
294281075Sdim%type <n> PrintfArgList
295281075Sdim%type <n> PrintfTerm
296281075Sdim%type <n> FprintfTerm
297306536Sjkim%type <n> ForTerm
298271440Sjkim
299271440Sjkim/* Resource Descriptors */
300271440Sjkim
301271440Sjkim%type <n> ConnectionTerm
302271440Sjkim%type <n> DMATerm
303271440Sjkim%type <n> DWordIOTerm
304271440Sjkim%type <n> DWordMemoryTerm
305271440Sjkim%type <n> DWordSpaceTerm
306271440Sjkim%type <n> EndDependentFnTerm
307271440Sjkim%type <n> ExtendedIOTerm
308271440Sjkim%type <n> ExtendedMemoryTerm
309271440Sjkim%type <n> ExtendedSpaceTerm
310271440Sjkim%type <n> FixedDmaTerm
311271440Sjkim%type <n> FixedIOTerm
312271440Sjkim%type <n> GpioIntTerm
313271440Sjkim%type <n> GpioIoTerm
314271440Sjkim%type <n> I2cSerialBusTerm
315306536Sjkim%type <n> I2cSerialBusTermV2
316271440Sjkim%type <n> InterruptTerm
317271440Sjkim%type <n> IOTerm
318271440Sjkim%type <n> IRQNoFlagsTerm
319271440Sjkim%type <n> IRQTerm
320271440Sjkim%type <n> Memory24Term
321271440Sjkim%type <n> Memory32FixedTerm
322271440Sjkim%type <n> Memory32Term
323271440Sjkim%type <n> NameSeg
324271440Sjkim%type <n> NameString
325271440Sjkim%type <n> QWordIOTerm
326271440Sjkim%type <n> QWordMemoryTerm
327271440Sjkim%type <n> QWordSpaceTerm
328271440Sjkim%type <n> RegisterTerm
329271440Sjkim%type <n> SpiSerialBusTerm
330306536Sjkim%type <n> SpiSerialBusTermV2
331271440Sjkim%type <n> StartDependentFnNoPriTerm
332271440Sjkim%type <n> StartDependentFnTerm
333271440Sjkim%type <n> UartSerialBusTerm
334306536Sjkim%type <n> UartSerialBusTermV2
335271440Sjkim%type <n> VendorLongTerm
336271440Sjkim%type <n> VendorShortTerm
337271440Sjkim%type <n> WordBusNumberTerm
338271440Sjkim%type <n> WordIOTerm
339271440Sjkim%type <n> WordSpaceTerm
340271440Sjkim
341271440Sjkim/* Local types that help construct the AML, not in ACPI spec */
342271440Sjkim
343271440Sjkim%type <n> AmlPackageLengthTerm
344271440Sjkim%type <n> IncludeEndTerm
345271440Sjkim%type <n> NameStringItem
346271440Sjkim%type <n> TermArgItem
347271440Sjkim
348271440Sjkim%type <n> OptionalAccessSize
349271440Sjkim%type <n> OptionalAddressingMode
350271440Sjkim%type <n> OptionalAddressRange
351271440Sjkim%type <n> OptionalBitsPerByte
352271440Sjkim%type <n> OptionalBuffer_Last
353306536Sjkim%type <n> OptionalBufferLength
354271440Sjkim%type <n> OptionalByteConstExpr
355271440Sjkim%type <n> OptionalCount
356271440Sjkim%type <n> OptionalDecodeType
357271440Sjkim%type <n> OptionalDevicePolarity
358271440Sjkim%type <n> OptionalDWordConstExpr
359271440Sjkim%type <n> OptionalEndian
360271440Sjkim%type <n> OptionalFlowControl
361271440Sjkim%type <n> OptionalIoRestriction
362271440Sjkim%type <n> OptionalListString
363271440Sjkim%type <n> OptionalMaxType
364271440Sjkim%type <n> OptionalMemType
365271440Sjkim%type <n> OptionalMinType
366271440Sjkim%type <n> OptionalNameString
367271440Sjkim%type <n> OptionalNameString_First
368271440Sjkim%type <n> OptionalNameString_Last
369271440Sjkim%type <n> OptionalObjectTypeKeyword
370271440Sjkim%type <n> OptionalParameterTypePackage
371271440Sjkim%type <n> OptionalParameterTypesPackage
372271440Sjkim%type <n> OptionalParityType
373306536Sjkim%type <n> OptionalPredicate
374271440Sjkim%type <n> OptionalQWordConstExpr
375271440Sjkim%type <n> OptionalRangeType
376271440Sjkim%type <n> OptionalReference
377271440Sjkim%type <n> OptionalResourceType
378271440Sjkim%type <n> OptionalResourceType_First
379271440Sjkim%type <n> OptionalReturnArg
380271440Sjkim%type <n> OptionalSerializeRuleKeyword
381271440Sjkim%type <n> OptionalShareType
382271440Sjkim%type <n> OptionalShareType_First
383271440Sjkim%type <n> OptionalSlaveMode
384271440Sjkim%type <n> OptionalStopBits
385271440Sjkim%type <n> OptionalStringData
386271440Sjkim%type <n> OptionalTermArg
387271440Sjkim%type <n> OptionalTranslationType_Last
388271440Sjkim%type <n> OptionalType
389271440Sjkim%type <n> OptionalType_Last
390271440Sjkim%type <n> OptionalWireMode
391271440Sjkim%type <n> OptionalWordConst
392271440Sjkim%type <n> OptionalWordConstExpr
393271440Sjkim%type <n> OptionalXferSize
394281075Sdim
395281075Sdim/*
396281075Sdim * C-style expression parser
397281075Sdim */
398281075Sdim%type <n> Expression
399281075Sdim%type <n> EqualsTerm
400306536Sjkim%type <n> IndexExpTerm
401