PageRenderTime 43ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre4/modes/prolog.xml

#
XML | 195 lines | 184 code | 3 blank | 8 comment | 0 complexity | 7ec1a37bd95cb54da48534d6ede71022 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. <!-- jEdit Prolog syntax file
  4. based on the INRIA ISO Prolog web page @ http://pauillac.inria.fr/~hodgson/prolog
  5. written by Giulio Piancastelli
  6. version 1.0
  7. created on 31st December 2001
  8. last revised 19th November 2002
  9. -->
  10. <MODE>
  11. <PROPS>
  12. <PROPERTY NAME="lineComment" VALUE="%" />
  13. <PROPERTY NAME="commentStart" VALUE="/*" />
  14. <PROPERTY NAME="commentEnd" VALUE="*/" />
  15. </PROPS>
  16. <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">
  17. <!-- Comments -->
  18. <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>
  19. <!--- ISO compliant C-style comments -->
  20. <SPAN TYPE="COMMENT1">
  21. <BEGIN>/*</BEGIN>
  22. <END>*/</END>
  23. </SPAN>
  24. <!-- String literals -->
  25. <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
  26. <BEGIN>'</BEGIN>
  27. <END>'</END>
  28. </SPAN>
  29. <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
  30. <BEGIN>"</BEGIN>
  31. <END>"</END>
  32. </SPAN>
  33. <!-- List literals -->
  34. <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" DELEGATE="LIST">
  35. <BEGIN>[</BEGIN>
  36. <END>]</END>
  37. </SPAN>
  38. <!-- Operators -->
  39. <SEQ TYPE="OPERATOR">--&gt;</SEQ>
  40. <SEQ TYPE="OPERATOR">:-</SEQ>
  41. <SEQ TYPE="OPERATOR">?-</SEQ>
  42. <SEQ TYPE="OPERATOR">;</SEQ>
  43. <SEQ TYPE="OPERATOR">-&gt;</SEQ>
  44. <SEQ TYPE="OPERATOR">,</SEQ>
  45. <SEQ TYPE="OPERATOR">\+</SEQ> <!-- ISO Prolog uses it instead of 'not' -->
  46. <SEQ TYPE="OPERATOR">==</SEQ>
  47. <SEQ TYPE="OPERATOR">\==</SEQ>
  48. <SEQ TYPE="OPERATOR">\=</SEQ>
  49. <SEQ TYPE="OPERATOR">@&lt;</SEQ>
  50. <SEQ TYPE="OPERATOR">@=&lt;</SEQ>
  51. <SEQ TYPE="OPERATOR">@&gt;=</SEQ>
  52. <SEQ TYPE="OPERATOR">@&gt;</SEQ>
  53. <SEQ TYPE="OPERATOR">=..</SEQ>
  54. <SEQ TYPE="OPERATOR">=:=</SEQ>
  55. <SEQ TYPE="OPERATOR">=\=</SEQ>
  56. <SEQ TYPE="OPERATOR">=&lt;</SEQ>
  57. <SEQ TYPE="OPERATOR">&gt;=</SEQ>
  58. <SEQ TYPE="OPERATOR">+</SEQ>
  59. <SEQ TYPE="OPERATOR">-</SEQ>
  60. <SEQ TYPE="OPERATOR">/\</SEQ>
  61. <SEQ TYPE="OPERATOR">\/</SEQ>
  62. <SEQ TYPE="OPERATOR">//</SEQ>
  63. <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>
  64. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  65. <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>
  66. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  67. <SEQ TYPE="OPERATOR">**</SEQ>
  68. <SEQ TYPE="OPERATOR">^</SEQ>
  69. <SEQ TYPE="OPERATOR">\</SEQ>
  70. <SEQ TYPE="OPERATOR">/</SEQ>
  71. <SEQ TYPE="OPERATOR">=</SEQ>
  72. <SEQ TYPE="OPERATOR">*</SEQ>
  73. <!-- The '.' at the end of each clause -->
  74. <SEQ TYPE="OPERATOR">.</SEQ>
  75. <!-- Parentheses -->
  76. <SEQ TYPE="MARKUP">(</SEQ>
  77. <SEQ TYPE="MARKUP">)</SEQ>
  78. <SEQ TYPE="NULL">{</SEQ>
  79. <SEQ TYPE="NULL">}</SEQ>
  80. <KEYWORDS>
  81. <!-- Keywords that are 0 arity built-in predicates -->
  82. <KEYWORD1>true</KEYWORD1>
  83. <KEYWORD1>fail</KEYWORD1>
  84. <KEYWORD1>!</KEYWORD1> <!-- cut -->
  85. <KEYWORD1>at_end_of_stream</KEYWORD1>
  86. <KEYWORD1>nl</KEYWORD1>
  87. <KEYWORD1>repeat</KEYWORD1>
  88. <KEYWORD1>halt</KEYWORD1>
  89. <!-- Keywords that are built-in predicates with arity greater than or equal to 1 -->
  90. <FUNCTION>call</FUNCTION>
  91. <FUNCTION>catch</FUNCTION>
  92. <FUNCTION>throw</FUNCTION>
  93. <FUNCTION>unify_with_occurs_check</FUNCTION>
  94. <FUNCTION>var</FUNCTION>
  95. <FUNCTION>atom</FUNCTION>
  96. <FUNCTION>integer</FUNCTION>
  97. <FUNCTION>float</FUNCTION>
  98. <FUNCTION>atomic</FUNCTION>
  99. <FUNCTION>compound</FUNCTION>
  100. <FUNCTION>nonvar</FUNCTION>
  101. <FUNCTION>number</FUNCTION>
  102. <FUNCTION>functor</FUNCTION>
  103. <FUNCTION>arg</FUNCTION>
  104. <FUNCTION>copy_term</FUNCTION>
  105. <FUNCTION>clause</FUNCTION>
  106. <FUNCTION>current_predicate</FUNCTION>
  107. <FUNCTION>asserta</FUNCTION>
  108. <FUNCTION>assertz</FUNCTION>
  109. <FUNCTION>retract</FUNCTION>
  110. <FUNCTION>abolish</FUNCTION>
  111. <FUNCTION>findall</FUNCTION>
  112. <FUNCTION>bagof</FUNCTION>
  113. <FUNCTION>setof</FUNCTION>
  114. <FUNCTION>current_input</FUNCTION>
  115. <FUNCTION>current_output</FUNCTION>
  116. <FUNCTION>set_input</FUNCTION>
  117. <FUNCTION>set_output</FUNCTION>
  118. <FUNCTION>open</FUNCTION>
  119. <FUNCTION>close</FUNCTION>
  120. <FUNCTION>stream_property</FUNCTION>
  121. <FUNCTION>at_end_of_stream</FUNCTION> <!-- arity 1 -->
  122. <FUNCTION>set_stream_position</FUNCTION>
  123. <FUNCTION>get_char</FUNCTION>
  124. <FUNCTION>get_code</FUNCTION>
  125. <FUNCTION>peek_char</FUNCTION>
  126. <FUNCTION>peek_code</FUNCTION>
  127. <FUNCTION>put_char</FUNCTION>
  128. <FUNCTION>put_code</FUNCTION>
  129. <FUNCTION>nl</FUNCTION> <!-- arity 1 -->
  130. <FUNCTION>get_byte</FUNCTION>
  131. <FUNCTION>peek_byte</FUNCTION>
  132. <FUNCTION>put_byte</FUNCTION>
  133. <FUNCTION>read_term</FUNCTION>
  134. <FUNCTION>read</FUNCTION>
  135. <FUNCTION>write_term</FUNCTION>
  136. <FUNCTION>write</FUNCTION>
  137. <FUNCTION>writeq</FUNCTION>
  138. <FUNCTION>write_canonical</FUNCTION>
  139. <FUNCTION>op</FUNCTION>
  140. <FUNCTION>current_op</FUNCTION>
  141. <FUNCTION>char_conversion</FUNCTION>
  142. <FUNCTION>current_char_conversion</FUNCTION>
  143. <FUNCTION>once</FUNCTION>
  144. <FUNCTION>atom_length</FUNCTION>
  145. <FUNCTION>atom_concat</FUNCTION>
  146. <FUNCTION>sub_atom</FUNCTION>
  147. <FUNCTION>atom_chars</FUNCTION>
  148. <FUNCTION>atom_codes</FUNCTION>
  149. <FUNCTION>char_code</FUNCTION>
  150. <FUNCTION>number_chars</FUNCTION>
  151. <FUNCTION>number_codes</FUNCTION>
  152. <FUNCTION>set_prolog_flag</FUNCTION>
  153. <FUNCTION>current_prolog_flag</FUNCTION>
  154. <FUNCTION>halt</FUNCTION> <!-- arity 1 -->
  155. <!-- Mathematical functions -->
  156. <FUNCTION>sin</FUNCTION>
  157. <FUNCTION>cos</FUNCTION>
  158. <FUNCTION>atan</FUNCTION>
  159. <FUNCTION>exp</FUNCTION>
  160. <FUNCTION>log</FUNCTION>
  161. <FUNCTION>sqrt</FUNCTION>
  162. <!-- Keywords that should be operators -->
  163. <KEYWORD2>is</KEYWORD2>
  164. <KEYWORD2>rem</KEYWORD2>
  165. <KEYWORD2>mod</KEYWORD2>
  166. <!-- Singleton variable -->
  167. <KEYWORD3>_</KEYWORD3>
  168. </KEYWORDS>
  169. </RULES>
  170. <RULES SET="LIST" DEFAULT="LITERAL2">
  171. <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE" DELEGATE="LIST">
  172. <BEGIN>[</BEGIN>
  173. <END>]</END>
  174. </SPAN>
  175. </RULES>
  176. </MODE>