| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | <?xml version="1.0" encoding="UTF-8"?> | 
					
						
							|  |  |  | <!DOCTYPE syntax SYSTEM "syntax.dtd"> | 
					
						
							|  |  |  | <syntax> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	<head> | 
					
						
							|  |  |  | 		<name>Logtalk</name> | 
					
						
							|  |  |  | 		<charsintokens> | 
					
						
							|  |  |  | 			<![CDATA[_0987654321abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ{}-]]> | 
					
						
							|  |  |  | 		</charsintokens>  | 
					
						
							|  |  |  | 		<charsdelimitingtokens><![CDATA[ []()]]></charsdelimitingtokens> | 
					
						
							|  |  |  | 	</head> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	<states> | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 		<default id="Base" color="#000000" inverted-color="#ffffff"> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			<keywords id="Variables" color="#848484" useforautocomplete="no"> | 
					
						
							|  |  |  | 				<regex>\b([A-Z_][A-Za-z0-9_]*)</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			<keywords id="Directives" color="#881280" useforautocomplete="yes"> | 
					
						
							|  |  |  | 				<regex>:-\s(object)\(</regex>			 | 
					
						
							|  |  |  | 				<regex>:-\s(protocol)\(</regex>			 | 
					
						
							|  |  |  | 				<regex>:-\s(category)\(</regex>			 | 
					
						
							|  |  |  | 				<regex>:-\s(end_(object|protocol|category))\.</regex>			 | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>:-\s(alias)\(</regex>			 | 
					
						
							| 
									
										
										
										
											2005-12-24 18:00:21 +00:00
										 |  |  | 				<regex>:-\s(e(ncoding|xport))\(</regex>			 | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>:-\s(initialization)\(</regex>			 | 
					
						
							|  |  |  | 				<regex>:-\s(info)\(</regex>			 | 
					
						
							| 
									
										
										
										
											2005-12-24 18:00:21 +00:00
										 |  |  | 				<regex>:-\s(mod(e|ule))\(</regex>			 | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>:-\s(dynamic)\(</regex>			 | 
					
						
							|  |  |  | 				<regex>:-\s(dynamic)\.</regex>			 | 
					
						
							|  |  |  | 				<regex>:-\s(discontiguous)\(</regex>			 | 
					
						
							|  |  |  | 				<regex>:-\s(p(ublic|r(otected|ivate)))\(</regex>			 | 
					
						
							| 
									
										
										
										
											2006-11-07 17:11:47 +00:00
										 |  |  | 				<regex>:-\s(m(eta_predicate|ultifile))\(</regex>			 | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>:-\s(op)\(</regex>			 | 
					
						
							|  |  |  | 				<regex>:-\s(calls)\(</regex>			 | 
					
						
							| 
									
										
										
										
											2005-12-24 18:00:21 +00:00
										 |  |  | 				<regex>:-\s(use(s|_module))\(</regex>			 | 
					
						
							| 
									
										
										
										
											2007-02-19 18:58:28 +00:00
										 |  |  | 				<regex>:-\s(synchronized)\(</regex>			 | 
					
						
							|  |  |  | 				<regex>:-\s(synchronized)\.</regex>			 | 
					
						
							| 
									
										
										
										
											2006-11-07 17:11:47 +00:00
										 |  |  | 				<regex>:-\s(threaded)\.</regex>			 | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			<keywords id="Entity Relations" color="#881280" useforautocomplete="yes"> | 
					
						
							|  |  |  | 				<regex>\b(specializes)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(extends)\(</regex> | 
					
						
							| 
									
										
										
										
											2006-03-26 17:31:34 +00:00
										 |  |  | 				<regex>\b(i(mp(orts|lements)|nstantiates))\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			<keywords id="Message Sending Operators" color="#0000ff" useforautocomplete="no"> | 
					
						
							|  |  |  | 				<regex>(::)</regex>			 | 
					
						
							|  |  |  | 				<regex>(\^\^)</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-06-12 10:39:47 +00:00
										 |  |  | 			<keywords id="Category predicate direct call" color="#0000ff" useforautocomplete="no"> | 
					
						
							|  |  |  | 				<regex>(:)</regex>			 | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 			<keywords id="External Call" color="#0000ff" useforautocomplete="no"> | 
					
						
							|  |  |  | 				<regex>(\{)</regex>			 | 
					
						
							|  |  |  | 				<regex>(\})</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			<keywords id="Control Constructs" color="#1A1AA6" useforautocomplete="yes"> | 
					
						
							|  |  |  | 				<regex>\b(ca(ll|tch))\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(throw)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(true)[^[(A-Za-z_]]</regex> | 
					
						
							|  |  |  | 				<regex>\b(fail)[^[(A-Za-z_]]</regex> | 
					
						
							|  |  |  | 				<regex>\s(-->)\s</regex>			 | 
					
						
							|  |  |  | 				<regex>\s(->)\s</regex> | 
					
						
							|  |  |  | 				<regex>(!)</regex> | 
					
						
							|  |  |  | 				<regex>(;)</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			<keywords id="Built-in Methods" color="#1A1AA6" useforautocomplete="yes"> | 
					
						
							|  |  |  | 				<regex>\b(parameter)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(se(lf|nder))\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(this)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(current_predicate)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(predicate_property)\(</regex> | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>\b(a(bolish|ssert(a|z)))\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>\b(clause)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(retract(all)?)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b((bag|set)of)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(f(ind|or)all)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(before)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(after)\(</regex> | 
					
						
							| 
									
										
										
										
											2004-09-30 20:28:42 +00:00
										 |  |  | 				<regex>\b(expand_term)\(</regex> | 
					
						
							| 
									
										
										
										
											2006-03-26 17:31:34 +00:00
										 |  |  | 				<regex>\b(term_expansion)\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>\b(phrase)\(</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			<keywords id="Built-in Predicates" color="#1A1AA6" useforautocomplete="yes"> | 
					
						
							|  |  |  | 				<regex>\b(current_(object|protocol|category|event))\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(create_(object|protocol|category))\(</regex> | 
					
						
							|  |  |  | 				<regex>\b((object|protocol|category)_property)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(abolish_(object|protocol|category|events))\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(extends_(object|protocol))\(</regex> | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>\b(impl(ements_protocol|orts_category))\(</regex> | 
					
						
							|  |  |  | 				<regex>\b((instantiat|specializ)es_class)\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>\b(define_events)\(</regex> | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>\b((se|curren)t_logtalk_flag)\(</regex> | 
					
						
							| 
									
										
										
										
											2005-02-10 00:02:06 +00:00
										 |  |  | 				<regex>\b(logtalk_(compile|l(ibrary_path|oad)))\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>\b(forall)\(</regex> | 
					
						
							|  |  |  | 				<!-- <regex>\b(retractall)\(</regex> --> | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>\b(threaded(_(call|once|ignore|exit|peek|wait|notify))?)\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			<keywords id="Other Built-in Predicates" color="#1A1AA6" useforautocomplete="yes"> | 
					
						
							|  |  |  | 				<!-- Term unification --> | 
					
						
							|  |  |  | 				<regex>\s(=)\s</regex> | 
					
						
							|  |  |  | 				<regex>\s(\\=)\s</regex> | 
					
						
							|  |  |  | 				<regex>\b(unify_with_occurs_check)\(</regex> | 
					
						
							|  |  |  | 				<!-- Term testing --> | 
					
						
							|  |  |  | 				<regex>\b(atom(ic)?)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(integer)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(float)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(compound)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b((non)?var)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(number)\(</regex> | 
					
						
							|  |  |  | 				<!-- Term comparison --> | 
					
						
							|  |  |  | 				<regex>(==)</regex> | 
					
						
							|  |  |  | 				<regex>(\\==)</regex> | 
					
						
							|  |  |  | 				<regex>(@<)</regex> | 
					
						
							|  |  |  | 				<regex>(@=<)</regex> | 
					
						
							|  |  |  | 				<regex>(@>=)</regex> | 
					
						
							|  |  |  | 				<regex>(@>)</regex> | 
					
						
							|  |  |  | 				<!-- Term creation and decomposition --> | 
					
						
							|  |  |  | 				<regex>\b(functor)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(arg)\(</regex> | 
					
						
							|  |  |  | 				<regex>(=\.\.)</regex> | 
					
						
							|  |  |  | 				<regex>\b(copy_term)\(</regex> | 
					
						
							|  |  |  | 				<!-- Arithemtic evaluation --> | 
					
						
							|  |  |  | 				<regex>\s(is)\s</regex> | 
					
						
							|  |  |  | 				<!-- Arithemtic comparison --> | 
					
						
							|  |  |  | 				<regex>(=:=)</regex> | 
					
						
							|  |  |  | 				<regex>(=\\=)</regex> | 
					
						
							|  |  |  | 				<regex>(<)</regex> | 
					
						
							|  |  |  | 				<regex>(=<)</regex> | 
					
						
							|  |  |  | 				<regex>(>)</regex> | 
					
						
							|  |  |  | 				<regex>(>=)</regex> | 
					
						
							|  |  |  | 				<!-- Evaluable functors --> | 
					
						
							|  |  |  | 				<regex>(\+)</regex> | 
					
						
							| 
									
										
										
										
											2004-10-17 22:37:16 +00:00
										 |  |  | 				<regex>(?<!:)(-)</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>(\*)</regex> | 
					
						
							|  |  |  | 				<regex>(//)</regex> | 
					
						
							|  |  |  | 				<regex>(/)</regex> | 
					
						
							|  |  |  | 				<regex>\s(rem)\s</regex> | 
					
						
							|  |  |  | 				<regex>\s(mod)\s</regex> | 
					
						
							|  |  |  | 				<regex>\b(rem)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(mod)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(abs)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(sign)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(float(_(integer|fractional)_part)?)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(floor)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(truncate)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(round)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(ceiling)\(</regex> | 
					
						
							|  |  |  | 				<!-- Other arithemtic functors --> | 
					
						
							|  |  |  | 				<regex>(\*\*)</regex> | 
					
						
							|  |  |  | 				<regex>\b(sin)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(cos)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(atan)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(exp)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(log)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(sqrt)\(</regex> | 
					
						
							|  |  |  | 				<!-- Bitwise functors --> | 
					
						
							|  |  |  | 				<regex>(>>)</regex> | 
					
						
							|  |  |  | 				<regex>(<<)</regex> | 
					
						
							|  |  |  | 				<regex>(/\\)</regex> | 
					
						
							|  |  |  | 				<regex>(\\/)</regex> | 
					
						
							|  |  |  | 				<regex>(\\)</regex> | 
					
						
							|  |  |  | 				<!-- Stream selection and control --> | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>\b((curren|se)t_(in|out)put)\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>\b(open)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(close)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(flush_output)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(stream_property)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(at_end_of_stream)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(set_stream_position)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(flush_output)[^[(A-Za-z_]]</regex> | 
					
						
							|  |  |  | 				<regex>\b(at_end_of_stream)[^[(A-Za-z_]]</regex> | 
					
						
							|  |  |  | 				<!-- Character input/output --> | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>\b((get|p(eek|ut))_c(har|ode))\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>\b(nl)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(nl)\b</regex> | 
					
						
							|  |  |  | 				<!-- Byte input/output --> | 
					
						
							|  |  |  | 				<regex>\b((get|peek|put)_byte)\(</regex> | 
					
						
							|  |  |  | 				<!-- Term input/output --> | 
					
						
							|  |  |  | 				<regex>\b(read(_term)?)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(write(q)?)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(write_(canonical|term))\(</regex> | 
					
						
							|  |  |  | 				<regex>\b((current_)?op)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b((current_)?char_conversion)\(</regex> | 
					
						
							|  |  |  | 				<!-- Logic and control --> | 
					
						
							|  |  |  | 				<regex>(\\\+)</regex> | 
					
						
							|  |  |  | 				<regex>\b(once)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(repeat)[^[(A-Za-z_]]</regex> | 
					
						
							|  |  |  | 				<!-- Atomic term processing --> | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>\b(atom_(length|c(hars|o(ncat|des))))\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>\b(sub_atom)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(char_code)\(</regex> | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>\b(number_c(har|ode)s)\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<!-- Implementation defined hooks functions --> | 
					
						
							| 
									
										
										
										
											2007-11-06 01:50:09 +00:00
										 |  |  | 				<regex>\b((se|curren)t_prolog_flag)\(</regex> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 				<regex>\b(halt)\(</regex> | 
					
						
							|  |  |  | 				<regex>\b(halt)[^[(A-Za-z_]]</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			<keywords id="Mode Operators" color="#0000ff" useforautocomplete="no"> | 
					
						
							|  |  |  | 				<regex>(@)(?=(,|[:alpha:]))</regex>			 | 
					
						
							|  |  |  | 				<regex>(\?)(?=(,|[:alpha:]))</regex> | 
					
						
							|  |  |  | 				<regex>(\+)(?=(,|[:alpha:]))</regex> | 
					
						
							|  |  |  | 				<regex>(-)(?=(,|[:alpha:]))</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-08-08 12:13:45 +00:00
										 |  |  | 			<keywords id="Numbers" color="#bf4b18" useforautocomplete="no"> | 
					
						
							|  |  |  | 				<regex>(?<=[^[A-Za-z_0-9]]|^)(\d+((\.\d+)?([eE]([-+])?\d+)?)?)</regex> | 
					
						
							|  |  |  | 				<regex>(?<=[^[A-Za-z_0-9]]|^)(0b[0-1]+)</regex> | 
					
						
							|  |  |  | 				<regex>(?<=[^[A-Za-z_0-9]]|^)(0o[0-7]+)</regex> | 
					
						
							|  |  |  | 				<regex>(?<=[^[A-Za-z_0-9]]|^)(0x\h+)</regex> | 
					
						
							|  |  |  | 				<regex>(?<=[^[A-Za-z_0-9]]|^)(0'.)</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 			<keywords id="Metapredicate Operators" color="#0000ff" useforautocomplete="no"> | 
					
						
							|  |  |  | 				<regex>(::)(?=(,|[)]))</regex>			 | 
					
						
							|  |  |  | 				<regex>(\*)(?=(,|[)]))</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-10-17 22:37:16 +00:00
										 |  |  | 			<keywords id="Clause operator" color="#000000" useforautocomplete="no"> | 
					
						
							|  |  |  | 				<regex>(:-)</regex> | 
					
						
							|  |  |  | 			</keywords> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 		</default> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		<state id="Strings" color="#881314" useforautocomplete="no"> | 
					
						
							| 
									
										
										
										
											2005-08-08 12:13:45 +00:00
										 |  |  | 			<begin><regex>(?<!0')"</regex></begin> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 			<end><regex>"</regex></end> | 
					
						
							|  |  |  | 		</state> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		<state id="Quoted Atoms" color="#881314" useforautocomplete="no"> | 
					
						
							|  |  |  | 			<begin><regex>(?<!0)'</regex></begin> | 
					
						
							|  |  |  | 			<end><regex>'</regex></end> | 
					
						
							|  |  |  | 		</state> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		<state id="Comment" color="#236E25" font-style="italic" useforautocomplete="no"> | 
					
						
							|  |  |  | 			<begin><regex>/\*</regex></begin> | 
					
						
							|  |  |  | 			<end><regex>\*/</regex></end> | 
					
						
							|  |  |  | 		</state> | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		<state id="SingleComment" color="#236E25" font-style="italic" useforautocomplete="no"> | 
					
						
							| 
									
										
										
										
											2005-08-08 12:13:45 +00:00
										 |  |  | 			<begin><regex>(?<!0')%</regex></begin> | 
					
						
							| 
									
										
										
										
											2004-06-06 22:46:45 +00:00
										 |  |  | 			<end><regex>[\n\r]</regex></end> | 
					
						
							|  |  |  | 		</state> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	</states> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | </syntax> |