NoEcho(' /****************************************************************************** * * Module Name: asltypes.y - Bison/Yacc production types/names * *****************************************************************************/ /* * Copyright (C) 2000 - 2017, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions, and the following disclaimer, * without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer * substantially similar to the "NO WARRANTY" disclaimer below * ("Disclaimer") and any redistribution must be conditioned upon * including a substantially similar Disclaimer requirement for further * binary redistribution. * 3. Neither the names of the above-listed copyright holders nor the names * of any contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. */ ') /****************************************************************************** * * Production names * *****************************************************************************/ %type ArgList %type AslCode %type BufferData %type BufferTermData %type CompilerDirective %type DataObject %type DefinitionBlockTerm %type DefinitionBlockList %type IntegerData %type NamedObject %type NameSpaceModifier %type Object %type PackageData %type ParameterTypePackage %type ParameterTypePackageList %type ParameterTypesPackage %type ParameterTypesPackageList %type RequiredTarget %type SimpleName %type StringData %type Target %type Term %type TermArg %type TermList %type MethodInvocationTerm /* Type4Opcode is obsolete */ %type Type1Opcode %type Type2BufferOpcode %type Type2BufferOrStringOpcode %type Type2IntegerOpcode %type Type2Opcode %type Type2StringOpcode %type Type3Opcode %type Type5Opcode %type Type6Opcode %type AccessAsTerm %type ExternalTerm %type FieldUnit %type FieldUnitEntry %type FieldUnitList %type IncludeTerm %type OffsetTerm %type OptionalAccessAttribTerm /* Named Objects */ %type BankFieldTerm %type CreateBitFieldTerm %type CreateByteFieldTerm %type CreateDWordFieldTerm %type CreateFieldTerm %type CreateQWordFieldTerm %type CreateWordFieldTerm %type DataRegionTerm %type DeviceTerm %type EventTerm %type FieldTerm %type FunctionTerm %type IndexFieldTerm %type MethodTerm %type MutexTerm %type OpRegionTerm %type OpRegionSpaceIdTerm %type PowerResTerm %type ProcessorTerm %type ThermalZoneTerm /* Namespace modifiers */ %type AliasTerm %type NameTerm %type ScopeTerm /* Type 1 opcodes */ %type BreakPointTerm %type BreakTerm %type CaseDefaultTermList %type CaseTerm %type ContinueTerm %type DefaultTerm %type ElseTerm %type FatalTerm %type ElseIfTerm %type IfTerm %type LoadTerm %type NoOpTerm %type NotifyTerm %type ReleaseTerm %type ResetTerm %type ReturnTerm %type SignalTerm %type SleepTerm %type StallTerm %type SwitchTerm %type UnloadTerm %type WhileTerm /* %type CaseTermList */ /* Type 2 opcodes */ %type AcquireTerm %type AddTerm %type AndTerm %type ConcatResTerm %type ConcatTerm %type CondRefOfTerm %type CopyObjectTerm %type DecTerm %type DerefOfTerm %type DivideTerm %type FindSetLeftBitTerm %type FindSetRightBitTerm %type FromBCDTerm %type IncTerm %type IndexTerm %type LAndTerm %type LEqualTerm %type LGreaterEqualTerm %type LGreaterTerm %type LLessEqualTerm %type LLessTerm %type LNotEqualTerm %type LNotTerm %type LoadTableTerm %type LOrTerm %type MatchTerm %type MidTerm %type ModTerm %type MultiplyTerm %type NAndTerm %type NOrTerm %type NotTerm %type ObjectTypeTerm %type OrTerm %type RawDataBufferTerm %type RefOfTerm %type ShiftLeftTerm %type ShiftRightTerm %type SizeOfTerm %type StoreTerm %type SubtractTerm %type TimerTerm %type ToBCDTerm %type ToBufferTerm %type ToDecimalStringTerm %type ToHexStringTerm %type ToIntegerTerm %type ToStringTerm %type WaitTerm %type XOrTerm /* Keywords */ %type AccessAttribKeyword %type AccessTypeKeyword %type AddressingModeKeyword %type AddressKeyword %type AddressSpaceKeyword %type BitsPerByteKeyword %type ClockPhaseKeyword %type ClockPolarityKeyword %type DecodeKeyword %type DevicePolarityKeyword %type DMATypeKeyword %type EndianKeyword %type FlowControlKeyword %type InterruptLevel %type InterruptTypeKeyword %type IODecodeKeyword %type IoRestrictionKeyword %type LockRuleKeyword %type MatchOpKeyword %type MaxKeyword %type MemTypeKeyword %type MinKeyword %type ObjectTypeKeyword %type OptionalBusMasterKeyword %type OptionalReadWriteKeyword %type ParityTypeKeyword %type PinConfigByte %type PinConfigKeyword %type RangeTypeKeyword %type RegionSpaceKeyword %type ResourceTypeKeyword %type SerializeRuleKeyword %type ShareTypeKeyword %type SlaveModeKeyword %type StopBitsKeyword %type TranslationKeyword %type TypeKeyword %type UpdateRuleKeyword %type WireModeKeyword %type XferSizeKeyword %type XferTypeKeyword /* Types */ %type SuperName %type ObjectTypeSource %type DerefOfSource %type RefOfSource %type CondRefOfSource %type ArgTerm %type LocalTerm %type DebugTerm %type Integer %type ByteConst %type WordConst %type DWordConst %type QWordConst %type String %type ConstTerm %type ConstExprTerm %type ByteConstExpr %type WordConstExpr %type DWordConstExpr %type QWordConstExpr %type DWordList %type BufferTerm %type ByteList %type PackageElement %type PackageList %type PackageTerm /* Macros */ %type EISAIDTerm %type ResourceMacroList %type ResourceMacroTerm %type ResourceTemplateTerm %type PldKeyword %type PldKeywordList %type ToPLDTerm %type ToUUIDTerm %type UnicodeTerm %type PrintfArgList %type PrintfTerm %type FprintfTerm %type ForTerm /* Resource Descriptors */ %type ConnectionTerm %type DMATerm %type DWordIOTerm %type DWordMemoryTerm %type DWordSpaceTerm %type EndDependentFnTerm %type ExtendedIOTerm %type ExtendedMemoryTerm %type ExtendedSpaceTerm %type FixedDmaTerm %type FixedIOTerm %type GpioIntTerm %type GpioIoTerm %type I2cSerialBusTerm %type I2cSerialBusTermV2 %type InterruptTerm %type IOTerm %type IRQNoFlagsTerm %type IRQTerm %type Memory24Term %type Memory32FixedTerm %type Memory32Term %type NameSeg %type NameString %type QWordIOTerm %type QWordMemoryTerm %type QWordSpaceTerm %type RegisterTerm %type SpiSerialBusTerm %type SpiSerialBusTermV2 %type StartDependentFnNoPriTerm %type StartDependentFnTerm %type UartSerialBusTerm %type UartSerialBusTermV2 %type VendorLongTerm %type VendorShortTerm %type WordBusNumberTerm %type WordIOTerm %type WordSpaceTerm /* Local types that help construct the AML, not in ACPI spec */ %type AmlPackageLengthTerm %type IncludeEndTerm %type NameStringItem %type TermArgItem %type OptionalAccessSize %type OptionalAddressingMode %type OptionalAddressRange %type OptionalBitsPerByte %type OptionalBuffer_Last %type OptionalByteConstExpr %type OptionalCount %type OptionalDataCount %type OptionalDecodeType %type OptionalDevicePolarity %type OptionalDWordConstExpr %type OptionalEndian %type OptionalFlowControl %type OptionalIoRestriction %type OptionalListString %type OptionalMaxType %type OptionalMemType %type OptionalMinType %type OptionalNameString %type OptionalNameString_First %type OptionalNameString_Last %type OptionalObjectTypeKeyword %type OptionalParameterTypePackage %type OptionalParameterTypesPackage %type OptionalParentheses %type OptionalParityType %type OptionalPredicate %type OptionalQWordConstExpr %type OptionalRangeType %type OptionalReference %type OptionalResourceType %type OptionalResourceType_First %type OptionalReturnArg %type OptionalSerializeRuleKeyword %type OptionalShareType %type OptionalShareType_First %type OptionalSlaveMode %type OptionalStopBits %type OptionalStringData %type OptionalTermArg %type OptionalTranslationType_Last %type OptionalType %type OptionalType_Last %type OptionalWireMode %type OptionalWordConst %type OptionalWordConstExpr %type OptionalXferSize /* * ASL+ (C-style) parser */ /* Expressions and symbolic operators */ %type Expression %type EqualsTerm %type IndexExpTerm /* ASL+ Named object declaration support */ /* %type NameTermAslPlus %type BufferBegin %type BufferEnd %type PackageBegin %type PackageEnd %type OptionalLength */ /* ASL+ Structure declarations */ /* %type StructureTerm %type StructureTermBegin %type StructureType %type StructureTag %type StructureElementList %type StructureElement %type StructureElementType %type OptionalStructureElementType %type StructureId */ /* Structure instantiantion */ /* %type StructureInstanceTerm %type StructureTagReference %type StructureInstanceEnd */ /* Pseudo-instantiantion for method Args/Locals */ /* %type MethodStructureTerm %type LocalStructureName */ /* Direct structure references via the Index operator */ /* %type StructureReference %type StructureIndexTerm %type StructurePointerTerm %type StructurePointerReference %type OptionalDefinePointer */