asltypes.y revision 306536
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