PageRenderTime 25ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-0-pre5/modes/prolog.xml

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