PageRenderTime 46ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre14/modes/redcode.xml

#
XML | 126 lines | 93 code | 22 blank | 11 comment | 0 complexity | 74b1db533d7a176bc8246b2baa087ea4 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <?xml version="1.0"?>
  2. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <!--
  4. redcode syntax highlighting file for jedit
  5. Will Varfar, 2002
  6. -->
  7. <MODE>
  8. <PROPS>
  9. <PROPERTY NAME="lineComment" VALUE=";" />
  10. </PROPS>
  11. <RULES HIGHLIGHT_DIGITS="TRUE" DEFAULT="MARKUP" IGNORE_CASE="TRUE">
  12. <EOL_SPAN TYPE="COMMENT2">;redcode</EOL_SPAN>
  13. <EOL_SPAN TYPE="COMMENT2">;author</EOL_SPAN>
  14. <EOL_SPAN TYPE="COMMENT2">;name</EOL_SPAN>
  15. <EOL_SPAN TYPE="COMMENT2">;strategy</EOL_SPAN>
  16. <EOL_SPAN TYPE="COMMENT2">;password</EOL_SPAN>
  17. <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>
  18. <SEQ TYPE="KEYWORD3">.AB</SEQ> <!-- Instructions read the A-field of the A-instruction and the B-field of the B-instruction and write to B-fields. -->
  19. <SEQ TYPE="KEYWORD3">.BA</SEQ> <!-- Instructions read the B-field of the A-instruction and the A-field of the B-instruction and write to A-fields. -->
  20. <SEQ TYPE="KEYWORD3">.A</SEQ> <!--Instructions read and write A-fields. -->
  21. <SEQ TYPE="KEYWORD3">.B</SEQ> <!-- Instructions read and write B-fields. -->
  22. <SEQ TYPE="KEYWORD3">.F</SEQ> <!-- Instructions read both A- and B-fields of the the A- and B-instruction and write to both A- and B-fields (A to A and B to B). -->
  23. <SEQ TYPE="KEYWORD3">.X</SEQ> <!-- Instructions read both A- and B-fields of the the A- and B-instruction and write to both A- and B-fields exchanging fields (A to B and B to A). -->
  24. <SEQ TYPE="KEYWORD3">.I</SEQ> <!-- Instructions read and write entire instructions. -->
  25. <SEQ TYPE="OPERATOR">,</SEQ>
  26. <SEQ TYPE="OPERATOR">:</SEQ>
  27. <SEQ TYPE="OPERATOR">(</SEQ>
  28. <SEQ TYPE="OPERATOR">)</SEQ>
  29. <!-- Arithmetic: -->
  30. <SEQ TYPE="OPERATOR">+</SEQ> <!-- addition or unary plus -->
  31. <SEQ TYPE="OPERATOR">-</SEQ> <!-- subtraction or unary minus -->
  32. <SEQ TYPE="OPERATOR">/</SEQ> <!-- division -->
  33. <SEQ TYPE="OPERATOR">%</SEQ> <!-- modulo (remainder of division) -->
  34. <!-- Comparison (*): -->
  35. <SEQ TYPE="OPERATOR">==</SEQ> <!-- equality -->
  36. <SEQ TYPE="OPERATOR">!=</SEQ> <!-- inequality -->
  37. <SEQ TYPE="OPERATOR">&lt;=</SEQ> <!-- less than or equal -->
  38. <SEQ TYPE="OPERATOR">&gt;=</SEQ> <!-- greater than or equal -->
  39. <SEQ TYPE="OPERATOR">&lt;</SEQ> <!-- less than -->
  40. <SEQ TYPE="OPERATOR">&gt;</SEQ> <!-- greater than -->
  41. <!-- Logical (*): -->
  42. <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ> <!-- and -->
  43. <SEQ TYPE="OPERATOR">||</SEQ> <!-- or -->
  44. <SEQ TYPE="OPERATOR">!</SEQ> <!-- unary negation -->
  45. <!-- Assignment (*): -->
  46. <SEQ TYPE="OPERATOR">=</SEQ> <!-- (to register variables a..z) -->
  47. <SEQ TYPE="LITERAL1">$</SEQ>
  48. <SEQ TYPE="LITERAL1">@</SEQ>
  49. <SEQ TYPE="LITERAL1">#</SEQ>
  50. <SEQ TYPE="LITERAL1">*</SEQ>
  51. <SEQ TYPE="LITERAL1">{</SEQ>
  52. <SEQ TYPE="LITERAL1">}</SEQ>
  53. <KEYWORDS>
  54. <LITERAL2>CORESIZE</LITERAL2> <!-- value of -s parameter (default: 8000) -->
  55. <LITERAL2>MAXPROCESSES</LITERAL2> <!-- value of -p parameter (default: 8000) -->
  56. <LITERAL2>MAXCYCLES</LITERAL2> <!-- value of -c parameter (default: 80000) -->
  57. <LITERAL2>MAXLENGTH</LITERAL2> <!-- value of -l parameter (default: 100) -->
  58. <LITERAL2>MINDISTANCE</LITERAL2> <!-- value of -d parameter (default: 100) -->
  59. <LITERAL2>ROUNDS</LITERAL2> <!-- (+) value of -r parameter (default: 1) -->
  60. <LITERAL2>PSPACESIZE</LITERAL2> <!-- (+) value of -S parameter (default: 1/16th CORESIZE) -->
  61. <LITERAL2>CURLINE</LITERAL2> <!-- current line in generated assembly (starts with 0) -->
  62. <LITERAL2>VERSION</LITERAL2> <!-- pMARS version ("60" is v0.6.0) -->
  63. <LITERAL2>WARRIORS</LITERAL2> <!-- number of warriors specified on command line -->
  64. <KEYWORD1>DAT</KEYWORD1> <!-- terminate process -->
  65. <KEYWORD1>MOV</KEYWORD1> <!-- move from A to B -->
  66. <KEYWORD1>ADD</KEYWORD1> <!-- add A to B, store result in B -->
  67. <KEYWORD1>SUB</KEYWORD1> <!-- subtract A from B, store result in B -->
  68. <KEYWORD1>MUL</KEYWORD1> <!-- multiply A by B, store result in B -->
  69. <KEYWORD1>DIV</KEYWORD1> <!-- divide B by A, store result in B if A <> 0, else terminate -->
  70. <KEYWORD1>MOD</KEYWORD1> <!-- divide B by A, store remainder in B if A <> 0, else terminate -->
  71. <KEYWORD1>JMP</KEYWORD1> <!-- transfer execution to A -->
  72. <KEYWORD1>JMZ</KEYWORD1> <!-- transfer execution to A if B is zero -->
  73. <KEYWORD1>JMN</KEYWORD1> <!-- transfer execution to A if B is non-zero -->
  74. <KEYWORD1>DJN</KEYWORD1> <!-- decrement B, if B is non-zero, transfer execution to A -->
  75. <KEYWORD1>SPL</KEYWORD1> <!-- split off process to A -->
  76. <KEYWORD1>SLT</KEYWORD1> <!-- skip next instruction if A is less than B -->
  77. <KEYWORD1>CMP</KEYWORD1> <!-- same as SEQ -->
  78. <KEYWORD1>SEQ</KEYWORD1> <!-- (*) Skip next instruction if A is equal to B -->
  79. <KEYWORD1>SNE</KEYWORD1> <!-- (*) Skip next instruction if A is not equal to B -->
  80. <KEYWORD1>NOP</KEYWORD1> <!-- (*) No operation -->
  81. <KEYWORD1>LDP</KEYWORD1> <!-- (+) Load P-space cell A into core address B -->
  82. <KEYWORD1>STP</KEYWORD1> <!-- (+) Store A-number into P-space cell B -->
  83. <KEYWORD2>EQU</KEYWORD2>
  84. <KEYWORD2>ORG</KEYWORD2>
  85. <KEYWORD2>FOR</KEYWORD2>
  86. <KEYWORD2>ROF</KEYWORD2>
  87. <KEYWORD2>END</KEYWORD2>
  88. <KEYWORD2>PIN</KEYWORD2>
  89. <KEYWORD2>CORESIZE</KEYWORD2> <!-- value of -s parameter (default: 8000) -->
  90. <KEYWORD2>MAXPROCESSES</KEYWORD2> <!-- value of -p parameter (default: 8000) -->
  91. <KEYWORD2>MAXCYCLES</KEYWORD2> <!-- value of -c parameter (default: 80000) -->
  92. <KEYWORD2>MAXLENGTH</KEYWORD2> <!-- value of -l parameter (default: 100) -->
  93. <KEYWORD2>MINDISTANCE</KEYWORD2> <!-- value of -d parameter (default: 100) -->
  94. <KEYWORD2>ROUNDS</KEYWORD2> <!-- (+) value of -r parameter (default: 1) -->
  95. <KEYWORD2>PSPACESIZE</KEYWORD2> <!-- (+) value of -S parameter (default: 1/16th CORESIZE) -->
  96. <KEYWORD2>CURLINE</KEYWORD2> <!-- current line in generated assembly (starts with 0) -->
  97. <KEYWORD2>VERSION</KEYWORD2> <!-- pMARS version ("60" is v0.6.0) -->
  98. <KEYWORD2>WARRIORS</KEYWORD2> <!-- number of warriors specified on command line -->
  99. </KEYWORDS>
  100. </RULES>
  101. </MODE>