asltypes.y revision 278970
1271440SjkimNoEcho(' 2271440Sjkim/****************************************************************************** 3271440Sjkim * 4271440Sjkim * Module Name: asltypes.y - Bison/Yacc production types/names 5271440Sjkim * 6271440Sjkim *****************************************************************************/ 7271440Sjkim 8271440Sjkim/* 9278970Sjkim * Copyright (C) 2000 - 2015, 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 288278970Sjkim%type <n> PldKeyword 289278970Sjkim%type <n> PldKeywordList 290278970Sjkim%type <n> ToPLDTerm 291271440Sjkim%type <n> ToUUIDTerm 292271440Sjkim%type <n> UnicodeTerm 293278970Sjkim%type <n> PrintfArgList 294278970Sjkim%type <n> PrintfTerm 295278970Sjkim%type <n> FprintfTerm 296271440Sjkim 297271440Sjkim/* Resource Descriptors */ 298271440Sjkim 299271440Sjkim%type <n> ConnectionTerm 300271440Sjkim%type <n> DataBufferTerm 301271440Sjkim%type <n> DMATerm 302271440Sjkim%type <n> DWordIOTerm 303271440Sjkim%type <n> DWordMemoryTerm 304271440Sjkim%type <n> DWordSpaceTerm 305271440Sjkim%type <n> EndDependentFnTerm 306271440Sjkim%type <n> ExtendedIOTerm 307271440Sjkim%type <n> ExtendedMemoryTerm 308271440Sjkim%type <n> ExtendedSpaceTerm 309271440Sjkim%type <n> FixedDmaTerm 310271440Sjkim%type <n> FixedIOTerm 311271440Sjkim%type <n> GpioIntTerm 312271440Sjkim%type <n> GpioIoTerm 313271440Sjkim%type <n> I2cSerialBusTerm 314271440Sjkim%type <n> InterruptTerm 315271440Sjkim%type <n> IOTerm 316271440Sjkim%type <n> IRQNoFlagsTerm 317271440Sjkim%type <n> IRQTerm 318271440Sjkim%type <n> Memory24Term 319271440Sjkim%type <n> Memory32FixedTerm 320271440Sjkim%type <n> Memory32Term 321271440Sjkim%type <n> NameSeg 322271440Sjkim%type <n> NameString 323271440Sjkim%type <n> QWordIOTerm 324271440Sjkim%type <n> QWordMemoryTerm 325271440Sjkim%type <n> QWordSpaceTerm 326271440Sjkim%type <n> RegisterTerm 327271440Sjkim%type <n> SpiSerialBusTerm 328271440Sjkim%type <n> StartDependentFnNoPriTerm 329271440Sjkim%type <n> StartDependentFnTerm 330271440Sjkim%type <n> UartSerialBusTerm 331271440Sjkim%type <n> VendorLongTerm 332271440Sjkim%type <n> VendorShortTerm 333271440Sjkim%type <n> WordBusNumberTerm 334271440Sjkim%type <n> WordIOTerm 335271440Sjkim%type <n> WordSpaceTerm 336271440Sjkim 337271440Sjkim/* Local types that help construct the AML, not in ACPI spec */ 338271440Sjkim 339271440Sjkim%type <n> AmlPackageLengthTerm 340271440Sjkim%type <n> IncludeEndTerm 341271440Sjkim%type <n> NameStringItem 342271440Sjkim%type <n> TermArgItem 343271440Sjkim 344271440Sjkim%type <n> OptionalAccessSize 345271440Sjkim%type <n> OptionalAddressingMode 346271440Sjkim%type <n> OptionalAddressRange 347271440Sjkim%type <n> OptionalBitsPerByte 348271440Sjkim%type <n> OptionalBuffer_Last 349271440Sjkim%type <n> OptionalByteConstExpr 350271440Sjkim%type <n> OptionalCount 351271440Sjkim%type <n> OptionalDecodeType 352271440Sjkim%type <n> OptionalDevicePolarity 353271440Sjkim%type <n> OptionalDWordConstExpr 354271440Sjkim%type <n> OptionalEndian 355271440Sjkim%type <n> OptionalFlowControl 356271440Sjkim%type <n> OptionalIoRestriction 357271440Sjkim%type <n> OptionalListString 358271440Sjkim%type <n> OptionalMaxType 359271440Sjkim%type <n> OptionalMemType 360271440Sjkim%type <n> OptionalMinType 361271440Sjkim%type <n> OptionalNameString 362271440Sjkim%type <n> OptionalNameString_First 363271440Sjkim%type <n> OptionalNameString_Last 364271440Sjkim%type <n> OptionalObjectTypeKeyword 365271440Sjkim%type <n> OptionalParameterTypePackage 366271440Sjkim%type <n> OptionalParameterTypesPackage 367271440Sjkim%type <n> OptionalParityType 368271440Sjkim%type <n> OptionalQWordConstExpr 369271440Sjkim%type <n> OptionalRangeType 370271440Sjkim%type <n> OptionalReference 371271440Sjkim%type <n> OptionalResourceType 372271440Sjkim%type <n> OptionalResourceType_First 373271440Sjkim%type <n> OptionalReturnArg 374271440Sjkim%type <n> OptionalSerializeRuleKeyword 375271440Sjkim%type <n> OptionalShareType 376271440Sjkim%type <n> OptionalShareType_First 377271440Sjkim%type <n> OptionalSlaveMode 378271440Sjkim%type <n> OptionalStopBits 379271440Sjkim%type <n> OptionalStringData 380271440Sjkim%type <n> OptionalTermArg 381271440Sjkim%type <n> OptionalTranslationType_Last 382271440Sjkim%type <n> OptionalType 383271440Sjkim%type <n> OptionalType_Last 384271440Sjkim%type <n> OptionalWireMode 385271440Sjkim%type <n> OptionalWordConst 386271440Sjkim%type <n> OptionalWordConstExpr 387271440Sjkim%type <n> OptionalXferSize 388278970Sjkim 389278970Sjkim/* 390278970Sjkim * C-style expression parser 391278970Sjkim */ 392278970Sjkim%type <n> Expression 393278970Sjkim%type <n> EqualsTerm 394