1# ACPI Source Language
2file.patterns.asl=*.asl;*.dsl
3lexer.$(file.patterns.asl)=cpp
4
5# Advanced Configuration and Power Interface Specification Revision 5.0, §19.3
6# http://acpi.info/spec50.htm
7keywordclass.asl=\
8AccessAs Acquire Add Alias And Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Arg6 \
9BankField Break BreakPoint Buffer Case Concatenate ConcatenateResTemplate \
10CondRefOf Connection Continue CopyObject CreateBitField CreateByteField \
11CreateDWordField CreateField CreateQWordField CreateWordField DataTableRegion \
12Debug Decrement Default DefinitionBlock DerefOf Device Device Divide DMA \
13DWordIO DWordMemory DWordSpace EisaId ElseIf Else EndDependentFn Event \
14ExtendedIO ExtendedMemory ExtendedMemory ExtendedSpace External Fatal Field \
15FindSetLeftBit FindSetRightBit FixedDMA FixedIO FromBCD Function GpioInt GpioIo \
16I2CSerialBus If Include Increment Index IndexField Interrupt IO IRQNoFlags IRQ \
17LAnd LEqual LGreater LGreaterEqual LLess LLessEqual LNotEqual LNot Load LoadTable \
18Local0 Local1 Local2 Local3 Local4 Local5 Local6 Local7 LOr Match Memory24 \
19Memory32 Memory32Fixed Method Mid Mod Multiply Mutex Name NAnd NoOp NOr Not \
20Notify Offset ObjectType Ones One OperationRegion Or Package PowerResource \
21Processor QWordIO QWordMemory QWordSpace RawDataBuffer RefOf Register Release \
22Reset ResourceTemplate Return Revision Scope ShiftLeft ShiftRight Signal SizeOf \
23Sleep SPISerialBus Stall StartDependentFn StartDependentFnNoPri Store Subtract \
24Switch ThermalZone Timer ToBCD ToBuffer ToDecimalString ToHexString ToInteger \
25ToString ToUUID UARTSerialBus Unicode Unload VendorLong VendorShort Wait While \
26WordBusNumber WordIO WordSpace XOr Zero
27
28# ripped straight from http://pypi.python.org/packages/source/p/pygments-asl/
29# the spec itself has no convenient list of these keywords
30keywordclass2.asl=\
31AttribQuick AttribSendReceive AttribByte AttribBytes AttribRawBytes \
32AttribRawProcessBytes AttribWord AttribBlock AttribProcessCall AttribBlockProcessCall \
33AnyAcc ByteAcc WordAcc DWordAcc QWordAcc BufferAcc AddressRangeMemory \
34AddressRangeReserved AddressRangeNVS AddressRangeACPI RegionSpaceKeyword \
35FFixedHW PCC AddressingMode7Bit AddressingMode10Bit DataBitsFive DataBitsSix \
36DataBitsSeven DataBitsEight DataBitsNine BusMaster NotBusMaster ClockPhaseFirst \
37ClockPhaseSecond ClockPolarityLow ClockPolarityHigh SubDecode PosDecode BigEndianing \
38LittleEndian AttribBytes AttribRawBytes AttribRawProcessBytes FlowControlNone \
39FlowControlXon FlowControlHardware Edge Level ActiveHigh ActiveLow ActiveHigh \
40ActiveLow ActiveBoth Decode16 Decode10 IoRestrictionNone IoRestrictionInputOnly \
41IoRestrictionOutputOnly IoRestrictionNoneAndPreserve Lock NoLock \
42MTR MEQ MLE MLT MGE MGT MaxFixed MaxNotFixed Cacheable WriteCombining Prefetchable \
43NonCacheable MinFixed MinNotFixed UnknownObj IntObj StrObj BuffObj PkgObj FieldUnitObj \
44DeviceObj EventObj MethodObj MutexObj OpRegionObj PowerResObj ProcessorObj \
45ThermalZoneObj BuffFieldObj DDBHandleObj ParityTypeNone ParityTypeSpace ParityTypeMark \
46ParityTypeOdd ParityTypeEven PullDefault PullUp PullDown PullNone PolarityHigh \
47PolarityLow ISAOnlyRanges NonISAOnlyRanges EntireRange ReadWrite ReadOnly \
48UserDefRegionSpace SystemIO SystemMemory PCI_Config EmbeddedControl SMBus SystemCMOS \
49PciBarTarget IPMI GeneralPurposeIO GenericSerialBus ResourceConsumer ResourceProducer \
50Serialized NotSerialized Shared Exclusive SharedAndWake ExclusiveAndWake \
51ControllerInitiated DeviceInitiated StopBitsZero StopBitsOne StopBitsOnePlusHalf \
52StopBitsTwo Width8Bit Width16Bit Width32Bit Width64Bit Width128Bit Width256Bit \
53SparseTranslation DenseTranslation TypeTranslation TypeStatic Preserve WriteAsOnes \
54WriteAsZeros Transfer8 Transfer16 Transfer8_16 ThreeWireMode FourWireMode
55
56keywords.$(file.patterns.asl)=$(keywordclass.asl)
57keywords2.$(file.patterns.asl)=$(keywordclass2.asl)
58