diff options
Diffstat (limited to 'kate/data/picsrc.xml')
-rw-r--r-- | kate/data/picsrc.xml | 402 |
1 files changed, 402 insertions, 0 deletions
diff --git a/kate/data/picsrc.xml b/kate/data/picsrc.xml new file mode 100644 index 000000000..57386f559 --- /dev/null +++ b/kate/data/picsrc.xml @@ -0,0 +1,402 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE language SYSTEM "language.dtd"> +<!-- kate: space-indent on; indent-width 2; --> + +<!-- Microchip PIC assembler syntaxfile for gpasm/mpasm assembler by + * Original author: Alain GIBAUD (alain.gibaud@univ-valenciennes.fr) + * Small modifications for the new DTD: Joseph Wenninger <jowenn@kde.org> + * Updated for 16-bit devices, etc.: Laurence Withers <lwithers@users.sf.net> +--> + +<language name="PicAsm" version="1.07" kateversion="2.3" section="Assembler" extensions="*.src;*.SRC;*.asm;*.ASM;*.pic;*.PIC" mimetype="text/x-PicSrc;text/x-PicHdr" author="Alain GIBAUD (alain.gibaud@univ-valenciennes.fr)" license="LGPL"> + + <highlighting> + <list name="directives"> + <item> __BADRAM </item> + <item> __CONFIG </item> + <item> __IDLOCS </item> + <item> __MAXRAM </item> + + <item> cblock </item> + <item> constant </item> + <item> da </item> + <item> data </item> + <item> db </item> + <item> de </item> + <item> dt </item> + <item> dw </item> + <item> endc </item> + <item> endm </item> + <item> equ </item> + <item> error </item> + <item> errorlevel </item> + <item> exitm </item> + <item> fill </item> + <item> list </item> + <item> local </item> + <item> macro </item> + <item> messg </item> + <item> noexpand </item> + <item> nolist </item> + <item> org </item> + <item> page </item> + <item> processor </item> + <item> radix </item> + <item> res </item> + <item> set </item> + <item> space </item> + <item> subtitle </item> + <item> title </item> + <item> variable </item> + <item> end </item> + + <item> CBLOCK </item> + <item> CONSTANT </item> + <item> DA </item> + <item> DATA </item> + <item> DB </item> + <item> DE </item> + <item> DT </item> + <item> DW </item> + <item> ENDC </item> + <item> ENDM </item> + <item> EQU </item> + <item> ERROR </item> + <item> ERRORLEVEL </item> + <item> EXITM </item> + <item> FILL </item> + <item> LIST </item> + <item> LOCAL </item> + <item> MACRO </item> + <item> MESSG </item> + <item> NOEXPAND </item> + <item> NOLIST </item> + <item> ORG </item> + <item> PAGE </item> + <item> PROCESSOR </item> + <item> RADIX </item> + <item> RES </item> + <item> SET </item> + <item> SPACE </item> + <item> SUBTITLE </item> + <item> TITLE </item> + <item> VARIABLE </item> + <item> END </item> + </list> + + <list name="conditional"> + <item> if </item> + <item> else </item> + <item> idef </item> + <item> ifndef </item> + <item> endif </item> + <item> while </item> + <item> include </item> + <item> endw </item> + <item> { </item> + <item> } </item> + </list> + + <list name="gpasm_macro"> + <item> addcf </item> + <item> b </item> + <item> clrc </item> + <item> clrz </item> + <item> setc </item> + <item> setz </item> + <item> movfw </item> + <item> skpc </item> + <item> skpz </item> + <item> skpnc </item> + <item> skpnz </item> + <item> subcf </item> + <item> tstf </item> + + <item> ADDCF </item> + <item> B </item> + <item> CLRC </item> + <item> CLRZ </item> + <item> SETC </item> + <item> SETZ </item> + <item> MOVFW </item> + <item> SKPC </item> + <item> SKPZ </item> + <item> SKPNC </item> + <item> SKPNZ </item> + <item> SUBCF </item> + <item> TSTF </item> + </list> + + <list name="instructions"> + <item> addlw </item> + <item> addwf </item> + <item> addwfc </item> + <item> andlw </item> + <item> andwf </item> + <item> bc </item> + <item> bcf </item> + <item> bn </item> + <item> bnc </item> + <item> bnov </item> + <item> bnz </item> + <item> bov </item> + <item> bra </item> + <item> bsf </item> + <item> btg </item> + <item> bz </item> + <item> btfsc </item> + <item> btfss </item> + <item> call </item> + <item> clrf </item> + <item> clrw </item> + <item> clrwdt </item> + <item> comf </item> + <item> cpfseq </item> + <item> cpfslt </item> + <item> cpfsgt </item> + <item> daw </item> + <item> decf </item> + <item> dcfsnz </item> + <item> decfsz </item> + <item> goto </item> + <item> incf </item> + <item> incfsz </item> + <item> infsnz </item> + <item> iorlw </item> + <item> iorwf </item> + <item> lfsr </item> + <item> movf </item> + <item> movff </item> + <item> movlb </item> + <item> movlw </item> + <item> movwf </item> + <item> mullw </item> + <item> mulwf </item> + <item> negf </item> + <item> nop </item> + <item> option </item> + <item> pop </item> + <item> push </item> + <item> rcall </item> + <item> reset </item> + <item> retfie </item> + <item> retlw </item> + <item> return </item> + <item> rlcf </item> + <item> rlf </item> + <item> rlncf </item> + <item> rrcf </item> + <item> rrf </item> + <item> rrncf </item> + <item> setf </item> + <item> sleep </item> + <item> subfwb </item> + <item> sublw </item> + <item> subwf </item> + <item> subwfb </item> + <item> swapf </item> + <item> tblrd </item> + <item> tblwt </item> + <item> tstfsz </item> + <item> xorlw </item> + <item> xorwf </item> + + <item> ADDLW </item> + <item> ADDWF </item> + <item> ADDWFC </item> + <item> ANDLW </item> + <item> ANDWF </item> + <item> BC </item> + <item> BCF </item> + <item> BN </item> + <item> BNC </item> + <item> BNOV </item> + <item> BNZ </item> + <item> BOV </item> + <item> BRA </item> + <item> BSF </item> + <item> BTG </item> + <item> BZ </item> + <item> BTFSC </item> + <item> BTFSS </item> + <item> CALL </item> + <item> CLRF </item> + <item> CLRW </item> + <item> CLRWDT </item> + <item> COMF </item> + <item> CPFSEQ </item> + <item> CPFSLT </item> + <item> CPFSGT </item> + <item> DAW </item> + <item> DCFSNZ </item> + <item> DECF </item> + <item> DECFSZ </item> + <item> GOTO </item> + <item> INCF </item> + <item> INCFSZ </item> + <item> INFSNZ </item> + <item> IORLW </item> + <item> IORWF </item> + <item> LFSR </item> + <item> MOVF </item> + <item> MOVFF </item> + <item> MOVLB </item> + <item> MOVLW </item> + <item> MOVWF </item> + <item> MULLW </item> + <item> MULWF </item> + <item> NEGF </item> + <item> NOP </item> + <item> OPTION </item> + <item> POP </item> + <item> PUSH </item> + <item> RCALL </item> + <item> RESET </item> + <item> RETFIE </item> + <item> RETLW </item> + <item> RETURN </item> + <item> RLCF </item> + <item> RLF </item> + <item> RLNCF </item> + <item> RRCF </item> + <item> RRF </item> + <item> RRNCF </item> + <item> SETF </item> + <item> SLEEP </item> + <item> SUBFWB </item> + <item> SUBLW </item> + <item> SUBWF </item> + <item> SUBWFB </item> + <item> SWAPF </item> + <item> TBLRD </item> + <item> TBLWT </item> + <item> TSTFSZ </item> + <item> XORLW </item> + <item> XORWF </item> + </list> + + <list name="instruction_attr"> + <item> A </item> + <item> ACCESS </item> + <item> BANKED </item> + <item> W </item> + <item> F </item> + </list> + + <contexts> + + <!-- The main ('normal') context --> + + <context name="normal" attribute="Normal Text" lineEndContext="#stay"> + <keyword attribute="Directives" context="#stay" String="directives"/> + <keyword attribute="Instructions" context="#stay" String="instructions"/> + <keyword attribute="InstructionAttr" context="#stay" String="instruction_attr"/> + <keyword attribute="Preprocessor" context="#stay" String="conditional"/> + <keyword attribute="GPASM-macros" context="#stay" String="gpasm_macro"/> + <HlCHex attribute="Based Numbers" context="#stay"/> + <RegExpr attribute="Based Numbers" context="#stay" String="([ \t,][0-9A-F]+H[ \t,])" insensitive="TRUE" /> + <RegExpr attribute="Based Numbers" context="#stay" String="([ \t,][0-9A-F]+H)$" insensitive="TRUE" /> + <RegExpr attribute="Based Numbers" context="#stay" String="([ \t,][0-9]+D)" insensitive="TRUE" /> + <RegExpr attribute="Based Numbers" context="#stay" String="([ \t,][0-7]+O)" insensitive="TRUE" /> + <RegExpr attribute="Based Numbers" context="#stay" String="([ \t,][0-1]+B)" insensitive="TRUE" /> + <Int attribute="Non Based Numbers" context="#stay" /> + <HlCChar attribute="Char" context="#stay"/> + <Detect2Chars attribute="Char" context="ASCIIChar" char="A" char1="'" /> + <Detect2Chars attribute="Char" context="ASCIIChar" char="a" char1="'" /> + <Detect2Chars attribute="Based Numbers" context="binaryDigits" char="B" char1="'" /> + <Detect2Chars attribute="Based Numbers" context="binaryDigits" char="b" char1="'" /> + <Detect2Chars attribute="Based Numbers" context="hexDigits" char="H" char1="'" /> + <Detect2Chars attribute="Based Numbers" context="hexDigits" char="h" char1="'" /> + <Detect2Chars attribute="Based Numbers" context="octDigits" char="O" char1="'" /> + <Detect2Chars attribute="Based Numbers" context="octDigits" char="o" char1="'" /> + <Detect2Chars attribute="Based Numbers" context="decimalDigits" char="D" char1="'" /> + <Detect2Chars attribute="Based Numbers" context="decimalDigits" char="d" char1="'" /> + <DetectChar attribute="String" context="string" char=""" /> + <DetectChar attribute="Comment" context="comment" char=";" /> + <AnyChar attribute="Symbol" context="#stay" String="-/*%+=><&|^!~" /> + <StringDetect attribute="Preprocessor" context="#stay" String="#define" /> + <StringDetect attribute="Preprocessor" context="#stay" String="#undefine" /> + <StringDetect attribute="Preprocessor" context="#stay" String="#v" /> + </context> + + + + <!-- Additional contexts --> + + <context name="string" attribute="String" lineEndContext="#pop"> + <LineContinue attribute="String" context="#stay"/> + <HlCStringChar attribute="Char" context="#stay"/> + <DetectChar attribute="String" context="#pop" char="""/> + </context> + + <context name="comment" attribute="Comment" lineEndContext="#pop"> + <RegExpr attribute="Instructions" context="#stay" + String="(INPUT|OUTPUT|PARAMETERS|AUTHOR|EMAIL)" /> + <RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO)" /> + </context> + + + + <!-- Quoted numbers --> + + <context name="decimalDigits" attribute="Based Numbers" lineEndContext="#pop"> + <DetectChar attribute="Based Numbers" context="#pop" char="'"/> + <RegExpr attribute="Error" context="QuotedNumError" String="\D" /> + </context> + + <context name="binaryDigits" attribute="Based Numbers" lineEndContext="#pop"> + <DetectChar attribute="Based Numbers" context="#pop" char="'"/> + <RegExpr attribute="Error" context="QuotedNumError" String="[^0-1]" /> + </context> + + <context name="hexDigits" attribute="Based Numbers" lineEndContext="#pop"> + <DetectChar attribute="Based Numbers" context="#pop" char="'"/> + <RegExpr attribute="Error" context="QuotedNumError" String="[^0-9A-Fa-f]" /> + </context> + + <context name="octDigits" attribute="Based Numbers" lineEndContext="#pop"> + <DetectChar attribute="Based Numbers" context="#pop" char="'"/> + <RegExpr attribute="Error" context="QuotedNumError" String="[^0-7]" /> + </context> + + <context name="ASCIIChar" attribute="Char" lineEndContext="#pop"> + <DetectChar attribute="Char" context="#pop" char="'"/> + <RegExpr attribute="Error" context="QuotedNumError" String=".[^']" /> + </context> + + <context name="QuotedNumError" attribute="Error" lineEndContext="#pop#pop"> + <DetectChar attribute="Error" context="#pop#pop" char="'" /> + </context> + + </contexts> + + + <itemDatas> + <itemData name="Normal Text" defStyleNum="dsNormal"/> + <itemData name="Directives" defStyleNum="dsOthers"/> + <itemData name="Preprocessor" defStyleNum="dsOthers"/> + <itemData name="Instructions" defStyleNum="dsKeyword"/> + <itemData name="InstructionAttr" defStyleNum="dsNormal" color="#000080" selColor="#000080" bold="0" italic="1"/> + <itemData name="Unbased Numbers" defStyleNum="dsDecVal"/> + <itemData name="Char" defStyleNum="dsChar"/> + <itemData name="String" defStyleNum="dsString"/> + <itemData name="Comment" defStyleNum="dsComment" /> + <itemData name="Symbol" defStyleNum="dsNormal" color="#FF0000" selColor="#083194" bold="0" italic="0"/> + <itemData name="Prep. Lib" defStyleNum="dsOthers"/> + <itemData name="Based Numbers" defStyleNum="dsBaseN" /> + <itemData name="GPASM-macros" defStyleNum="dsNormal" color="#000000" selColor="#000000" bold="1" italic="1"/> + <itemData name="Alert" defStyleNum="dsAlert" /> + <itemData name="Error" defStyleNum="dsError" /> + </itemDatas> + + </highlighting> + + + <general> + <comments> + <comment name="singleLine" start=";" /> + </comments> + <keywords casesensitive="1" /> + </general> + +</language> |