asltypes.y revision 281687
1NoEcho('
2/******************************************************************************
3 *
4 * Module Name: asltypes.y - Bison/Yacc production types/names
5 *
6 *****************************************************************************/
7
8/*
9 * Copyright (C) 2000 - 2015, 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 * Production names
50 *
51 *****************************************************************************/
52
53%type <n> ArgList
54%type <n> ASLCode
55%type <n> BufferData
56%type <n> BufferTermData
57%type <n> CompilerDirective
58%type <n> DataObject
59%type <n> DefinitionBlockTerm
60%type <n> IntegerData
61%type <n> NamedObject
62%type <n> NameSpaceModifier
63%type <n> Object
64%type <n> ObjectList
65%type <n> PackageData
66%type <n> ParameterTypePackage
67%type <n> ParameterTypePackageList
68%type <n> ParameterTypesPackage
69%type <n> ParameterTypesPackageList
70%type <n> RequiredTarget
71%type <n> SimpleTarget
72%type <n> StringData
73%type <n> Target
74%type <n> Term
75%type <n> TermArg
76%type <n> TermList
77%type <n> MethodInvocationTerm
78
79/* Type4Opcode is obsolete */
80
81%type <n> Type1Opcode
82%type <n> Type2BufferOpcode
83%type <n> Type2BufferOrStringOpcode
84%type <n> Type2IntegerOpcode
85%type <n> Type2Opcode
86%type <n> Type2StringOpcode
87%type <n> Type3Opcode
88%type <n> Type5Opcode
89%type <n> Type6Opcode
90
91%type <n> AccessAsTerm
92%type <n> ExternalTerm
93%type <n> FieldUnit
94%type <n> FieldUnitEntry
95%type <n> FieldUnitList
96%type <n> IncludeTerm
97%type <n> OffsetTerm
98%type <n> OptionalAccessAttribTerm
99
100/* Named Objects */
101
102%type <n> BankFieldTerm
103%type <n> CreateBitFieldTerm
104%type <n> CreateByteFieldTerm
105%type <n> CreateDWordFieldTerm
106%type <n> CreateFieldTerm
107%type <n> CreateQWordFieldTerm
108%type <n> CreateWordFieldTerm
109%type <n> DataRegionTerm
110%type <n> DeviceTerm
111%type <n> EventTerm
112%type <n> FieldTerm
113%type <n> FunctionTerm
114%type <n> IndexFieldTerm
115%type <n> MethodTerm
116%type <n> MutexTerm
117%type <n> OpRegionTerm
118%type <n> OpRegionSpaceIdTerm
119%type <n> PowerResTerm
120%type <n> ProcessorTerm
121%type <n> ThermalZoneTerm
122
123/* Namespace modifiers */
124
125%type <n> AliasTerm
126%type <n> NameTerm
127%type <n> ScopeTerm
128
129/* Type 1 opcodes */
130
131%type <n> BreakPointTerm
132%type <n> BreakTerm
133%type <n> CaseDefaultTermList
134%type <n> CaseTerm
135%type <n> ContinueTerm
136%type <n> DefaultTerm
137%type <n> ElseTerm
138%type <n> FatalTerm
139%type <n> IfElseTerm
140%type <n> IfTerm
141%type <n> LoadTerm
142%type <n> NoOpTerm
143%type <n> NotifyTerm
144%type <n> ReleaseTerm
145%type <n> ResetTerm
146%type <n> ReturnTerm
147%type <n> SignalTerm
148%type <n> SleepTerm
149%type <n> StallTerm
150%type <n> SwitchTerm
151%type <n> UnloadTerm
152%type <n> WhileTerm
153/* %type <n> CaseTermList */
154
155/* Type 2 opcodes */
156
157%type <n> AcquireTerm
158%type <n> AddTerm
159%type <n> AndTerm
160%type <n> ConcatResTerm
161%type <n> ConcatTerm
162%type <n> CondRefOfTerm
163%type <n> CopyObjectTerm
164%type <n> DecTerm
165%type <n> DerefOfTerm
166%type <n> DivideTerm
167%type <n> FindSetLeftBitTerm
168%type <n> FindSetRightBitTerm
169%type <n> FromBCDTerm
170%type <n> IncTerm
171%type <n> IndexTerm
172%type <n> LAndTerm
173%type <n> LEqualTerm
174%type <n> LGreaterEqualTerm
175%type <n> LGreaterTerm
176%type <n> LLessEqualTerm
177%type <n> LLessTerm
178%type <n> LNotEqualTerm
179%type <n> LNotTerm
180%type <n> LoadTableTerm
181%type <n> LOrTerm
182%type <n> MatchTerm
183%type <n> MidTerm
184%type <n> ModTerm
185%type <n> MultiplyTerm
186%type <n> NAndTerm
187%type <n> NOrTerm
188%type <n> NotTerm
189%type <n> ObjectTypeTerm
190%type <n> OrTerm
191%type <n> RefOfTerm
192%type <n> ShiftLeftTerm
193%type <n> ShiftRightTerm
194%type <n> SizeOfTerm
195%type <n> StoreTerm
196%type <n> SubtractTerm
197%type <n> TimerTerm
198%type <n> ToBCDTerm
199%type <n> ToBufferTerm
200%type <n> ToDecimalStringTerm
201%type <n> ToHexStringTerm
202%type <n> ToIntegerTerm
203%type <n> ToStringTerm
204%type <n> WaitTerm
205%type <n> XOrTerm
206
207/* Keywords */
208
209%type <n> AccessAttribKeyword
210%type <n> AccessTypeKeyword
211%type <n> AddressingModeKeyword
212%type <n> AddressKeyword
213%type <n> AddressSpaceKeyword
214%type <n> BitsPerByteKeyword
215%type <n> ClockPhaseKeyword
216%type <n> ClockPolarityKeyword
217%type <n> DecodeKeyword
218%type <n> DevicePolarityKeyword
219%type <n> DMATypeKeyword
220%type <n> EndianKeyword
221%type <n> FlowControlKeyword
222%type <n> InterruptLevel
223%type <n> InterruptTypeKeyword
224%type <n> IODecodeKeyword
225%type <n> IoRestrictionKeyword
226%type <n> LockRuleKeyword
227%type <n> MatchOpKeyword
228%type <n> MaxKeyword
229%type <n> MemTypeKeyword
230%type <n> MinKeyword
231%type <n> ObjectTypeKeyword
232%type <n> OptionalBusMasterKeyword
233%type <n> OptionalReadWriteKeyword
234%type <n> ParityTypeKeyword
235%type <n> PinConfigByte
236%type <n> PinConfigKeyword
237%type <n> RangeTypeKeyword
238%type <n> RegionSpaceKeyword
239%type <n> ResourceTypeKeyword
240%type <n> SerializeRuleKeyword
241%type <n> ShareTypeKeyword
242%type <n> SlaveModeKeyword
243%type <n> StopBitsKeyword
244%type <n> TranslationKeyword
245%type <n> TypeKeyword
246%type <n> UpdateRuleKeyword
247%type <n> WireModeKeyword
248%type <n> XferSizeKeyword
249%type <n> XferTypeKeyword
250
251/* Types */
252
253%type <n> SuperName
254%type <n> ObjectTypeName
255%type <n> ArgTerm
256%type <n> LocalTerm
257%type <n> DebugTerm
258
259%type <n> Integer
260%type <n> ByteConst
261%type <n> WordConst
262%type <n> DWordConst
263%type <n> QWordConst
264%type <n> String
265
266%type <n> ConstTerm
267%type <n> ConstExprTerm
268%type <n> ByteConstExpr
269%type <n> WordConstExpr
270%type <n> DWordConstExpr
271%type <n> QWordConstExpr
272
273%type <n> DWordList
274%type <n> BufferTerm
275%type <n> ByteList
276
277%type <n> PackageElement
278%type <n> PackageList
279%type <n> PackageTerm
280%type <n> VarPackageLengthTerm
281
282/* Macros */
283
284%type <n> EISAIDTerm
285%type <n> ResourceMacroList
286%type <n> ResourceMacroTerm
287%type <n> ResourceTemplateTerm
288%type <n> PldKeyword
289%type <n> PldKeywordList
290%type <n> ToPLDTerm
291%type <n> ToUUIDTerm
292%type <n> UnicodeTerm
293%type <n> PrintfArgList
294%type <n> PrintfTerm
295%type <n> FprintfTerm
296
297/* Resource Descriptors */
298
299%type <n> ConnectionTerm
300%type <n> DataBufferTerm
301%type <n> DMATerm
302%type <n> DWordIOTerm
303%type <n> DWordMemoryTerm
304%type <n> DWordSpaceTerm
305%type <n> EndDependentFnTerm
306%type <n> ExtendedIOTerm
307%type <n> ExtendedMemoryTerm
308%type <n> ExtendedSpaceTerm
309%type <n> FixedDmaTerm
310%type <n> FixedIOTerm
311%type <n> GpioIntTerm
312%type <n> GpioIoTerm
313%type <n> I2cSerialBusTerm
314%type <n> InterruptTerm
315%type <n> IOTerm
316%type <n> IRQNoFlagsTerm
317%type <n> IRQTerm
318%type <n> Memory24Term
319%type <n> Memory32FixedTerm
320%type <n> Memory32Term
321%type <n> NameSeg
322%type <n> NameString
323%type <n> QWordIOTerm
324%type <n> QWordMemoryTerm
325%type <n> QWordSpaceTerm
326%type <n> RegisterTerm
327%type <n> SpiSerialBusTerm
328%type <n> StartDependentFnNoPriTerm
329%type <n> StartDependentFnTerm
330%type <n> UartSerialBusTerm
331%type <n> VendorLongTerm
332%type <n> VendorShortTerm
333%type <n> WordBusNumberTerm
334%type <n> WordIOTerm
335%type <n> WordSpaceTerm
336
337/* Local types that help construct the AML, not in ACPI spec */
338
339%type <n> AmlPackageLengthTerm
340%type <n> IncludeEndTerm
341%type <n> NameStringItem
342%type <n> TermArgItem
343
344%type <n> OptionalAccessSize
345%type <n> OptionalAddressingMode
346%type <n> OptionalAddressRange
347%type <n> OptionalBitsPerByte
348%type <n> OptionalBuffer_Last
349%type <n> OptionalByteConstExpr
350%type <n> OptionalCount
351%type <n> OptionalDecodeType
352%type <n> OptionalDevicePolarity
353%type <n> OptionalDWordConstExpr
354%type <n> OptionalEndian
355%type <n> OptionalFlowControl
356%type <n> OptionalIoRestriction
357%type <n> OptionalListString
358%type <n> OptionalMaxType
359%type <n> OptionalMemType
360%type <n> OptionalMinType
361%type <n> OptionalNameString
362%type <n> OptionalNameString_First
363%type <n> OptionalNameString_Last
364%type <n> OptionalObjectTypeKeyword
365%type <n> OptionalParameterTypePackage
366%type <n> OptionalParameterTypesPackage
367%type <n> OptionalParityType
368%type <n> OptionalQWordConstExpr
369%type <n> OptionalRangeType
370%type <n> OptionalReference
371%type <n> OptionalResourceType
372%type <n> OptionalResourceType_First
373%type <n> OptionalReturnArg
374%type <n> OptionalSerializeRuleKeyword
375%type <n> OptionalShareType
376%type <n> OptionalShareType_First
377%type <n> OptionalSlaveMode
378%type <n> OptionalStopBits
379%type <n> OptionalStringData
380%type <n> OptionalTermArg
381%type <n> OptionalTranslationType_Last
382%type <n> OptionalType
383%type <n> OptionalType_Last
384%type <n> OptionalWireMode
385%type <n> OptionalWordConst
386%type <n> OptionalWordConstExpr
387%type <n> OptionalXferSize
388
389/*
390 * C-style expression parser
391 */
392%type <n> Expression
393%type <n> EqualsTerm
394