Warning, /frameworks/syntax-highlighting/data/syntax/asm-avr.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <!--
0004 
0005 *************************************************************************
0006 *                                                                       *
0007 *               Syntax highlighting for the AVR Assembler               *
0008 *                   Copyright (C) 2004, Roland Nagy                     *
0009 *                                                                       *
0010 *************************************************************************
0011 
0012 Author:   Rolanf Nagy <R.Nagy@pknc.com>
0013 Date:     18th May, 2004
0014 Version:  1.0
0015 
0016 This file contains the XML syntax highlighting description for the AVR
0017 Assembler, for KATE, the KDE Advanced Editor.  Keywords have been taken
0018 directly from the AVR Assembler source code.
0019 
0020 This program, including associated files, is free software.  You may
0021 distribute it and/or modify it under the terms of the GNU General Public
0022 License as published by the Free Software Foundation; either Version 2 of
0023 the license, or (at your option) any later version.
0024 
0025 This program is distributed in the hope that it will be useful, but
0026 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
0027 or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
0028 for more details.
0029 
0030 You should have received a copy of the GNU General Public License along
0031 with this program; if not, write to the Free Software Foundation, Inc.,
0032 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0033 
0034 -->
0035 
0036 <language name="AVR Assembler" version="6" kateversion="5.62" section="Assembler" extensions="*.asm;*.ASM;*.asm-avr" mimetype="text/x-asm;text/x-asm-avr" author="Roland Nagy" license="GPLv2+">
0037   <highlighting>
0038     <list name="keywords">
0039       <item>adc</item>
0040       <item>add</item>
0041       <item>adiw</item>
0042       <item>and</item>
0043       <item>andi</item>
0044       <item>asr</item>
0045       <item>bclr</item>
0046       <item>bld</item>
0047       <item>break</item>
0048       <item>bset</item>
0049       <item>bst</item>
0050       <item>cbi</item>
0051       <item>cbr</item>
0052       <item>clc</item>
0053       <item>clh</item>
0054       <item>cli</item>
0055       <item>cln</item>
0056       <item>clr</item>
0057       <item>cls</item>
0058       <item>clt</item>
0059       <item>clv</item>
0060       <item>clz</item>
0061       <item>com</item>
0062       <item>dec</item>
0063       <item>des</item>
0064       <item>elpm</item>
0065       <item>eor</item>
0066       <item>fmul</item>
0067       <item>fmuls</item>
0068       <item>fmulsu</item>
0069       <item>in</item>
0070       <item>inc</item>
0071       <item>lac</item>
0072       <item>las</item>
0073       <item>lat</item>
0074       <item>ld</item>
0075       <item>ldd</item>
0076       <item>ldi</item>
0077       <item>lds</item>
0078       <item>lpm</item>
0079       <item>lsl</item>
0080       <item>lsr</item>
0081       <item>mov</item>
0082       <item>movw</item>
0083       <item>mul</item>
0084       <item>muls</item>
0085       <item>mulsu</item>
0086       <item>neg</item>
0087       <item>nop</item>
0088       <item>or</item>
0089       <item>ori</item>
0090       <item>out</item>
0091       <item>pop</item>
0092       <item>push</item>
0093       <item>rol</item>
0094       <item>ror</item>
0095       <item>sbc</item>
0096       <item>sbr</item>
0097       <item>sec</item>
0098       <item>seh</item>
0099       <item>sbi</item>
0100       <item>sbci</item>
0101       <item>sbiw</item>
0102       <item>sei</item>
0103       <item>sen</item>
0104       <item>ser</item>
0105       <item>ses</item>
0106       <item>set</item>
0107       <item>sev</item>
0108       <item>sez</item>
0109       <item>sleep</item>
0110       <item>spm</item>
0111       <item>st</item>
0112       <item>std</item>
0113       <item>sts</item>
0114       <item>sub</item>
0115       <item>subi</item>
0116       <item>swap</item>
0117       <item>tst</item>
0118       <item>wdr</item>
0119       <item>xch</item>
0120     </list>
0121 
0122     <list name="branch instructions">
0123       <item>brbc</item>
0124       <item>brbs</item>
0125       <item>brcc</item>
0126       <item>brcs</item>
0127       <item>breq</item>
0128       <item>brge</item>
0129       <item>brhc</item>
0130       <item>brhs</item>
0131       <item>brid</item>
0132       <item>brie</item>
0133       <item>brlo</item>
0134       <item>brlt</item>
0135       <item>brmi</item>
0136       <item>brne</item>
0137       <item>brpl</item>
0138       <item>brsh</item>
0139       <item>brtc</item>
0140       <item>brts</item>
0141       <item>brvc</item>
0142       <item>brvs</item>
0143       <item>call</item>
0144       <item>cp</item>
0145       <item>cpc</item>
0146       <item>cpi</item>
0147       <item>cpse</item>
0148       <item>eicall</item>
0149       <item>eijmp</item>
0150       <item>icall</item>
0151       <item>ijmp</item>
0152       <item>jmp</item>
0153       <item>rcall</item>
0154       <item>ret</item>
0155       <item>reti</item>
0156       <item>rjmp</item>
0157       <item>sbic</item>
0158       <item>sbis</item>
0159       <item>sbrc</item>
0160       <item>sbrs</item>
0161     </list>
0162 
0163     <list name="directives">
0164       <item>.byte</item>
0165       <item>.cseg</item>
0166       <item>.csegsize</item>
0167       <item>.db</item>
0168       <item>.dd</item>
0169       <item>.def</item>
0170       <item>.dq</item>
0171       <item>.dseg</item>
0172       <item>.dw</item>
0173       <item>.elif</item>
0174       <item>.else</item>
0175       <item>.endif</item>
0176       <item>.endm</item>
0177       <item>.endmacro</item>
0178       <item>.equ</item>
0179       <item>.error</item>
0180       <item>.esec</item>
0181       <item>.exit</item>
0182       <item>.if</item>
0183       <item>.ifdef</item>
0184       <item>.ifndef</item>
0185       <item>.include</item>
0186       <item>.list</item>
0187       <item>.listmac</item>
0188       <item>.macro</item>
0189       <item>.message</item>
0190       <item>.nolist</item>
0191       <item>.nooverlap</item>
0192       <item>.org</item>
0193       <item>.overlap</item>
0194       <item>.set</item>
0195       <item>.undef</item>
0196       <item>.warning</item>
0197     </list>
0198 
0199     <list name="functions">
0200       <item>low</item>
0201       <item>high</item>
0202       <item>byte2</item>
0203       <item>byte3</item>
0204       <item>byte4</item>
0205       <item>lwrd</item>
0206       <item>hwrd</item>
0207       <item>page</item>
0208       <item>exp2</item>
0209       <item>log2</item>
0210       <item>int</item>
0211       <item>frac</item>
0212       <item>q7</item>
0213       <item>q15</item>
0214       <item>abs</item>
0215       <item>defined</item>
0216       <item>strlen</item>
0217     </list>
0218 
0219     <list name="constants">
0220       <item>__AVRASM_VERSION__</item>
0221       <item>__CORE_VERSION__</item>
0222       <item>__DATE__</item>
0223       <item>__TIME__</item>
0224       <item>__CENTURY__</item>
0225       <item>__YEAR__</item>
0226       <item>__MONTH__</item>
0227       <item>__FILE__</item>
0228       <item>__LINE__</item>
0229       <item>__SECOND__</item>
0230       <item>__MINUTE__</item>
0231       <item>__HOUR__</item>
0232       <item>__DAY__</item>
0233       <item>__PART_NAME__</item>
0234     </list>
0235 
0236     <list name="macros">
0237       <item>#define</item>
0238       <item>#if</item>
0239       <item>#undef</item>
0240       <item>#idef</item>
0241       <item>#ifndef</item>
0242       <item>#if</item>
0243       <item>#elif</item>
0244       <item>#else</item>
0245       <item>#endif</item>
0246       <item>#error</item>
0247       <item>#warning</item>
0248       <item>#message</item>
0249       <item>#include</item>
0250       <item>#pragma</item>
0251     </list>
0252 
0253     <contexts>
0254       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0255         <DetectSpaces attribute="Normal Text" />
0256         <DetectChar   attribute="Decimal" context="Number" char="0" lookAhead="1" />
0257         <Int          attribute="Decimal" context="Decimal" />
0258         <DetectChar   attribute="Directive" context="Directive" char="." lookAhead="1"/>
0259         <DetectChar   attribute="Hex" context="Hex" char="$" />
0260         <DetectChar   attribute="Referred Macro Parameter" context="RefMacroParam" char="@" lookAhead="1" />
0261         <HlCChar      attribute="Char" context="#stay" />
0262         <DetectChar   attribute="String" context="String" char="&quot;" />
0263         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="*" beginRegion="BlockComment" />
0264         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="/" />
0265         <DetectChar   attribute="Comment" context="Commentar 2" char=";" />
0266         <AnyChar      attribute="Symbol" context="#stay" String="!~-*/%+-&lt;>=&amp;^|?,()\" />
0267         <DetectChar   attribute="Preprocessor" context="Preprocessor" char="#" firstNonSpace="1" lookAhead="1"/>
0268         <RegExpr      attribute="Label" context="#stay" String="[A-Za-z0-9_]+:" firstNonSpace="1"/>
0269         <keyword      attribute="Keyword" context="#stay" String="keywords"/>
0270         <keyword      attribute="Branch Instructions" context="#stay" String="branch instructions"/>
0271         <keyword      attribute="Function" context="#stay" String="functions"/>
0272         <RegExpr context="#stay" String="[A-Za-z_.$][A-Za-z0-9_.$]*" />
0273       </context>
0274 
0275       <context attribute="Referred Macro Parameter" lineEndContext="#pop" name="RefMacroParam">
0276         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="0" />
0277         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="1" />
0278         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="2" />
0279         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="3" />
0280         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="4" />
0281         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="5" />
0282         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="6" />
0283         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="7" />
0284         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="8" />
0285         <Detect2Chars attribute="Referred Macro Parameter" context="#pop" char="@" char1="9" />
0286         <DetectChar attribute="Error" context="#pop" char="@" />
0287       </context>
0288 
0289       <context attribute="Directive" lineEndContext="#pop" name="Directive" fallthroughContext="#pop!BadDirective">
0290         <keyword attribute="Directive" context="#pop" String="directives" insensitive="1" />
0291       </context>
0292 
0293       <context attribute="Error" lineEndContext="#pop" name="BadDirective" fallthroughContext="#pop">
0294         <DetectChar       attribute="Error" context="#stay" char="." />
0295         <DetectIdentifier attribute="Error" context="#pop" />
0296       </context>
0297 
0298       <context attribute="Decimal" lineEndContext="#pop" name="Number">
0299         <StringDetect attribute="Hex" context="#pop!Hex" String="0x" insensitive="1" />
0300         <StringDetect attribute="Binary" context="#pop!Binary" String="0b" insensitive="1" />
0301         <StringDetect attribute="Float" context="#pop!Float" String="0f" insensitive="1" />
0302         <StringDetect attribute="Float" context="#pop!Float" String="0e" insensitive="1" />
0303         <StringDetect attribute="Float" context="#pop!Float" String="0d" insensitive="1" />
0304         <WordDetect   attribute="Decimal" context="#pop" String="0" />
0305         <DetectChar   attribute="Octal" context="#pop!Octal" char="0" />
0306       </context>
0307 
0308       <context attribute="Decimal" lineEndContext="#pop" name="Decimal" fallthroughContext="#pop">
0309         <AnyChar attribute="Decimal" context="#stay" String="0123456789_" />
0310       </context>
0311 
0312       <context attribute="Binary" lineEndContext="#pop" name="Binary" fallthroughContext="#pop">
0313         <AnyChar attribute="Binary" context="#stay" String="01_" />
0314       </context>
0315 
0316       <context attribute="Octal" lineEndContext="#pop" name="Octal" fallthroughContext="#pop">
0317         <AnyChar attribute="Octal" context="#stay" String="01234567_" />
0318       </context>
0319 
0320       <context attribute="Hex" lineEndContext="#pop" name="Hex" fallthroughContext="#pop">
0321         <AnyChar attribute="Hex" context="#stay" String="0123456789abcdefABCDEF_" />
0322       </context>
0323 
0324       <context attribute="Float" lineEndContext="#pop" name="Float" fallthroughContext="#pop">
0325         <RegExpr attribute="Float" context="#stay" String="[-+]?[0-9]*+\.?[0-9]*+[eE]?[-+]?[0-9]+" />
0326       </context>
0327 
0328       <context attribute="String" lineEndContext="#pop" name="String">
0329         <LineContinue attribute="Symbol" />
0330         <HlCStringChar attribute="String Char" context="#stay" />
0331         <DetectChar    attribute="String" context="#pop" char="&quot;" />
0332       </context>
0333 
0334       <context attribute="Comment" lineEndContext="#stay" name="Commentar 1">
0335         <DetectSpaces attribute="Comment"/>
0336         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="BlockComment" />
0337         <IncludeRules context="##Comments"/>
0338         <DetectIdentifier attribute="Comment"/>
0339       </context>
0340       <context attribute="Comment" lineEndContext="#pop" name="Commentar 2">
0341         <DetectSpaces attribute="Comment"/>
0342         <IncludeRules context="##Comments"/>
0343         <DetectIdentifier attribute="Comment"/>
0344       </context>
0345 
0346       <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
0347         <keyword    attribute="Preprocessor" context="#pop!InPreprocessor" String="macros" />
0348         <DetectChar attribute="Preprocessor" context="#pop!PreprocessorName" char="#" />
0349       </context>
0350       <context attribute="Preprocessor" lineEndContext="#pop" name="PreprocessorName">
0351         <DetectIdentifier attribute="Unknown Preprocessor" context="#pop!InPreprocessor" />
0352       </context>
0353 
0354       <context attribute="Preprocessor" lineEndContext="#pop" name="InPreprocessor">
0355         <LineContinue attribute="Symbol" />
0356         <DetectChar   attribute="Symbol" context="#stay" char="#" />
0357         <Detect2Chars attribute="Constant" context="Constant" char="_" char1="_" lookAhead="1"/>
0358         <IncludeRules context="Normal" />
0359       </context>
0360 
0361       <context attribute="Constant" lineEndContext="#stay" name="Constant">
0362         <keyword attribute="Constant" context="#pop" String="constants"/>
0363         <RegExpr attribute="Constant" context="#pop" String="__(?:[0-9a-zA-Z]++|_(?!_))++__" />
0364         <DetectIdentifier attribute="Error" context="#pop" />
0365       </context>
0366     </contexts>
0367 
0368     <itemDatas>
0369       <itemData name="Normal Text"  defStyleNum="dsNormal"   />
0370       <itemData name="Label"        defStyleNum="dsFunction" />
0371       <itemData name="Function"     defStyleNum="dsFunction" />
0372       <itemData name="Keyword"      defStyleNum="dsKeyword"  />
0373       <itemData name="Branch Instructions" defStyleNum="dsControlFlow" />
0374       <itemData name="Directive"    defStyleNum="dsKeyword"  />
0375       <itemData name="Decimal"      defStyleNum="dsDecVal"   />
0376       <itemData name="Octal"        defStyleNum="dsBaseN"    />
0377       <itemData name="Hex"          defStyleNum="dsBaseN"    />
0378       <itemData name="Binary"       defStyleNum="dsBaseN"    />
0379       <itemData name="Float"        defStyleNum="dsFloat"    />
0380       <itemData name="Char"         defStyleNum="dsChar"     />
0381       <itemData name="String"       defStyleNum="dsString"   />
0382       <itemData name="String Char"  defStyleNum="dsSpecialChar" />
0383       <itemData name="Symbol"       defStyleNum="dsOperator" />
0384       <itemData name="Comment"      defStyleNum="dsComment"  />
0385       <itemData name="Preprocessor" defStyleNum="dsPreprocessor" />
0386       <itemData name="Constant"     defStyleNum="dsOthers"   />
0387       <itemData name="Error"        defStyleNum="dsError"    />
0388       <itemData name="Unknown Preprocessor" defStyleNum="dsError" />
0389       <itemData name="Referred Macro Parameter" defStyleNum="dsVariable" />
0390     </itemDatas>
0391   </highlighting>
0392 
0393   <general>
0394     <comments>
0395       <comment name="singleLine" start=";" />
0396       <comment name="multiLine"  start="/*" end="*/" region="BlockComment" />
0397     </comments>
0398     <keywords casesensitive="1" weakDeliminator=".$#" />
0399   </general>
0400 </language>
0401 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->