Advertisement
SashaCrofter

DCPU-16 Syntax Highlighting

Apr 9th, 2012
509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 3.25 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <!--
  4. What follows is a primitive .lang for syntax highlighting of .asm files. It highlights all of the opcodes listed in version 1.1 of http://0x10c.com/doc/dcpu-16.txt. It also highlights JSR, which isn't listed quite as clearly as the others. It is intended for use with graphical editors on Linux, such as gedit, but may work elsewhere, as far as I know. On Linux, place the file (which can be named anything with a .lang extention, but preferably something like dcpu-16.lang) under
  5.    /usr/share/gtksourceview*.0/language-specs/
  6. -->
  7.  
  8. <!DOCTYPE language SYSTEM "language.dtd">
  9. <language _name="Assembler (DCPU16)" version="1.0" _section="Sources" globs="*.dasm*" mimetypes="text/x-asm;text/x-assembler">
  10.    
  11.     <escape-char>\</escape-char>
  12.  
  13.     <line-comment _name = "Line Comment" style= "Comment">
  14.         <start-regex>#|@|;</start-regex>
  15.     </line-comment>
  16.  
  17.     <block-comment _name = "Block Comment" style = "Comment">
  18.         <start-regex>/\*</start-regex>
  19.             <end-regex>\*/</end-regex>
  20.     </block-comment>
  21.  
  22.     <string _name = "NASM Identifiers" style = "Keyword" end-at-line-end = "TRUE">
  23.         <start-regex>\[</start-regex>
  24.         <end-regex>\]</end-regex>
  25.     </string>
  26.  
  27.     <pattern-item _name = "Operators" style = "Keyword">
  28.         <regex>[-.,:\+\*\/\(\)\{\}\[]|]</regex>
  29.     </pattern-item>
  30.  
  31.     <pattern-item _name = "Label" style = "Preprocessor">
  32.         <regex>^[A-Za-z_][A-Za-z_0-9]*\:</regex>
  33.     </pattern-item>
  34.  
  35.     <pattern-item _name = "Local Label" style = "Preprocessor">
  36.         <regex>.[A-Za-z_0-9]*:</regex>
  37.     </pattern-item>
  38.  
  39.     <string _name = "String" style = "String" end-at-line-end = "TRUE">
  40.         <start-regex>&quot;</start-regex>
  41.         <end-regex>&quot;</end-regex>
  42.     </string>
  43.  
  44.     <keyword-list _name = "Registers" style = "Data Type" case-sensitive="FALSE"
  45.         match-empty-string-at-beginning = "TRUE"
  46.         match-empty-string-at-end = "TRUE">
  47.        
  48.         <!-- DCPU-16 -->
  49.  
  50.         <keyword>A</keyword>
  51.         <keyword>B</keyword>
  52.         <keyword>C</keyword>
  53.         <keyword>X</keyword>       
  54.         <keyword>Y</keyword>
  55.         <keyword>Z</keyword>       
  56.         <keyword>I</keyword>
  57.         <keyword>J</keyword>
  58.  
  59.         <keyword>POP</keyword>
  60.         <keyword>PEEK</keyword>
  61.         <keyword>PUSH</keyword>
  62.         <keyword>SP</keyword>
  63.         <keyword>PC</keyword>
  64.         <keyword>O</keyword>
  65.         <keyword>SET</keyword>
  66.         <keyword>ADD</keyword>
  67.         <keyword>SUB</keyword>
  68.         <keyword>MUL</keyword>
  69.         <keyword>DIV</keyword>
  70.         <keyword>MOD</keyword>
  71.         <keyword>SHL</keyword>
  72.         <keyword>SHR</keyword>
  73.         <keyword>AND</keyword>
  74.         <keyword>BOR</keyword>
  75.         <keyword>XOR</keyword>
  76.         <keyword>IFE</keyword>
  77.         <keyword>IFN</keyword>
  78.         <keyword>IFG</keyword>
  79.         <keyword>IFB</keyword>
  80.         <keyword>JSR</keyword>
  81.  
  82.     </keyword-list>
  83.  
  84.     <pattern-item _name = "Character Constant" style = "String">
  85.         <regex>&apos;([^\]|\\(.?))</regex>
  86.     </pattern-item>
  87.  
  88.     <pattern-item _name = "Decimal" style = "Decimal">
  89.         <regex>\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex>
  90.     </pattern-item>
  91.  
  92.     <pattern-item _name = "Floating Point Number" style = "Floating Point">
  93.         <regex>\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?</regex>
  94.     </pattern-item>
  95.  
  96.     <pattern-item _name = "Hex Number" style = "Base-N Integer">
  97.         <regex>\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex>
  98.     </pattern-item>
  99.  
  100. </language>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement