/usr/share/gtksourceview-2.0/language-specs/6502.lang
<?xml version="1.0" encoding="UTF-8"?>
<!--
k2src.lang
Syntax File for Highlighting, for gedit
Just copy it into e.g. /usr/share/gtksourceview-2.0/language-specs
Is especially suited for k2asm (e.g. dnc,python,ifdef) but should
be ok for any sane 6502 assembler.
[/] 2008 by Zed Yago/K2
Partly based on c.lang
[/] 2009 modified by cbmhardware/pol for ACME
-->
<language id="6502" _name="6502" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-k2src</property>
<property name="globs">*.asm;*.inc;*.a</property>
<property name="line-comment-start">;</property>
</metadata>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="doc" _name="Documentation" map-to="def:doc-comment-element"/>
<style id="function" _name="Function" map-to="def:function"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="base-n-integer" _name="Base-N Integer" map-to="def:base-n-integer"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="data-type" _name="Data Type" map-to="def:type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<definitions>
<context id="line-comment-docstyle" style-ref="doc" end-at-line-end="true">
<start>;;</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>;</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="ifzero-comment" style-ref="comment">
<start>^[ t]*#[ t]*if[ t]*0</start>
<end>[ t]*#[ t]*(endif|else)</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<!--
<context id="python-block" style-ref="function">
<start>^#pybegin</start>
<end>^#pyend</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
-->
<context id="python-block">
<start>^#pybegin</start>
<end>^;pyend</end>
<include>
<context sub-pattern="0" where="start" style-ref="function"/>
<context ref="python:python"/>
<context sub-pattern="0" where="end" style-ref="function"/>
</include>
</context>
<context id="shell-exec" end-at-line-end="true" style-ref="preprocessor">
<start>#system</start>
<include>
<context ref="sh:sh"/>
</include>
</context>
<context id="string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="include-pragma" style-ref="preprocessor" end-at-line-end="true">
<start>^#[ t]*(include|pragma)</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="keywords" style-ref="keyword">
<keyword>adc</keyword>
<keyword>and</keyword>
<keyword>asl</keyword>
<keyword>bcc</keyword>
<keyword>bcs</keyword>
<keyword>beq</keyword>
<keyword>bit</keyword>
<keyword>bmi</keyword>
<keyword>bne</keyword>
<keyword>bpl</keyword>
<keyword>brk</keyword>
<keyword>bvc</keyword>
<keyword>bvs</keyword>
<keyword>clc</keyword>
<keyword>cld</keyword>
<keyword>cli</keyword>
<keyword>clv</keyword>
<keyword>cmp</keyword>
<keyword>cpx</keyword>
<keyword>cpy</keyword>
<keyword>dec</keyword>
<keyword>dex</keyword>
<keyword>dey</keyword>
<keyword>eor</keyword>
<keyword>inc</keyword>
<keyword>inx</keyword>
<keyword>iny</keyword>
<keyword>jmp</keyword>
<keyword>jsr</keyword>
<keyword>lda</keyword>
<keyword>ldx</keyword>
<keyword>ldy</keyword>
<keyword>lsr</keyword>
<keyword>nop</keyword>
<keyword>ora</keyword>
<keyword>pha</keyword>
<keyword>php</keyword>
<keyword>pla</keyword>
<keyword>plp</keyword>
<keyword>rol</keyword>
<keyword>ror</keyword>
<keyword>rti</keyword>
<keyword>rts</keyword>
<keyword>sbc</keyword>
<keyword>sec</keyword>
<keyword>sed</keyword>
<keyword>sei</keyword>
<keyword>sta</keyword>
<keyword>stx</keyword>
<keyword>sty</keyword>
<keyword>tax</keyword>
<keyword>tay</keyword>
<keyword>tsx</keyword>
<keyword>txa</keyword>
<keyword>txs</keyword>
<keyword>tya</keyword>
</context>
<context id="types" style-ref="data-type">
<prefix>!</prefix>
<suffix></suffix>
<keyword>to</keyword>
<keyword>org</keyword>
<keyword>byte</keyword>
<keyword>word</keyword>
<keyword>pet</keyword>
<keyword>scr</keyword>
<keyword>cpu</keyword>
<keyword>bin</keyword>
</context>
<context id="mem" style-ref="data-type">
<prefix>*</prefix>
<suffix></suffix>
<keyword>=</keyword>
</context>
<context id="character-constant" style-ref="string" end-at-line-end="true">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="decimal" style-ref="decimal">
<match>#[0-9?]+</match>
</context>
<context id="binary-number" style-ref="base-n-integer">
<match>%[01?#.]+</match>
</context>
<context id="hex-number" style-ref="base-n-integer">
<match>$[0-9a-fA-F?]+</match>
</context>
<context id="common-macro" style-ref="preprocessor">
<keyword>NULL</keyword>
<keyword>TRUE</keyword>
<keyword>FALSE</keyword>
<keyword>MAX</keyword>
<keyword>MIN</keyword>
<keyword>__LINE__</keyword>
<keyword>__DATA__</keyword>
<keyword>__FILE__</keyword>
<keyword>__func__</keyword>
<keyword>__TIME__</keyword>
<keyword>__STDC__</keyword>
</context>
<context id="preprocessor-definitions" style-ref="preprocessor">
<prefix>^[ t]*#[ t]*</prefix>
<keyword>if</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>else</keyword>
<keyword>elif</keyword>
<keyword>define</keyword>
<keyword>endif</keyword>
<keyword>undef</keyword>
<keyword>error</keyword>
<keyword>pragma</keyword>
<keyword>line</keyword>
</context>
<context id="label" style-ref="function">
<match>[ t]*[_a-zA-Z][_a-zA-Z0-9]+:</match>
</context>
<context id="6502">
<include>
<context ref="line-comment-docstyle"/>
<context ref="line-comment"/>
<context ref="ifzero-comment"/>
<context ref="python-block"/>
<context ref="shell-exec"/>
<context ref="string"/>
<context ref="include-pragma"/>
<context ref="keywords"/>
<context ref="types"/>
<context ref="mem"/>
<context ref="character-constant"/>
<context ref="decimal"/>
<context ref="binary-number"/>
<context ref="hex-number"/>
<context ref="common-macro"/>
<context ref="preprocessor-definitions"/>
<context ref="label"/>
</include>
</context>
</definitions>
</language>Letzte Änderung: 2019-01-04 10:04:14