Logtalk
\b([A-Z_][A-Za-z0-9_]*)
:-\s(object)\(
:-\s(protocol)\(
:-\s(category)\(
:-\s(end_(object|protocol|category))\.
:-\s(initialization)\(
:-\s(info)\(
:-\s(mode)\(
:-\s(dynamic)\(
:-\s(dynamic)\.
:-\s(discontiguous)\(
:-\s(p(ublic|r(otected|ivate)))\(
:-\s(metapredicate)\(
:-\s(op)\(
:-\s(calls)\(
:-\s(uses)\(
(:-)
\b(instantiates)\(
\b(specializes)\(
\b(extends)\(
\b(imp(orts|lements))\(
(::)
(\^\^)
(\{)
(\})
\b(ca(ll|tch))\(
\b(throw)\(
\b(true)[^[(A-Za-z_]]
\b(fail)[^[(A-Za-z_]]
\s(-->)\s
\s(->)\s
(!)
(;)
\b(parameter)\(
\b(se(lf|nder))\(
\b(this)\(
\b(current_predicate)\(
\b(predicate_property)\(
\b(abolish)\(
\b(assert(a|z))\(
\b(clause)\(
\b(retract(all)?)\(
\b((bag|set)of)\(
\b(f(ind|or)all)\(
\b(before)\(
\b(after)\(
\b(phrase)\(
\b(current_(object|protocol|category|event))\(
\b(create_(object|protocol|category))\(
\b((object|protocol|category)_property)\(
\b(abolish_(object|protocol|category|events))\(
\b(extends_(object|protocol))\(
\b(implements_protocol)\(
\b((instantiates|specializes)_class)\(
\b(imports_category)\(
\b(define_events)\(
\b((set|current)_logtalk_flag)\(
\b(logtalk_(compile|load))\(
\b(forall)\(
\s(=)\s
\s(\\=)\s
\b(unify_with_occurs_check)\(
\b(atom(ic)?)\(
\b(integer)\(
\b(float)\(
\b(compound)\(
\b((non)?var)\(
\b(number)\(
(==)
(\\==)
(@<)
(@=<)
(@>=)
(@>)
\b(functor)\(
\b(arg)\(
(=\.\.)
\b(copy_term)\(
\s(is)\s
(=:=)
(=\\=)
(<)
(=<)
(>)
(>=)
(\+)
(-)
(\*)
(//)
(/)
\s(rem)\s
\s(mod)\s
\b(rem)\(
\b(mod)\(
\b(abs)\(
\b(sign)\(
\b(float(_(integer|fractional)_part)?)\(
\b(floor)\(
\b(truncate)\(
\b(round)\(
\b(ceiling)\(
(\*\*)
\b(sin)\(
\b(cos)\(
\b(atan)\(
\b(exp)\(
\b(log)\(
\b(sqrt)\(
(>>)
(<<)
(/\\)
(\\/)
(\\)
\b(current_(input|output))\(
\b(set_(input|output))\(
\b(open)\(
\b(close)\(
\b(flush_output)\(
\b(stream_property)\(
\b(at_end_of_stream)\(
\b(set_stream_position)\(
\b(flush_output)[^[(A-Za-z_]]
\b(at_end_of_stream)[^[(A-Za-z_]]
\b(get_(char|code))\(
\b(peek_(char|code))\(
\b(put_(char|code))\(
\b(nl)\(
\b(nl)\b
\b((get|peek|put)_byte)\(
\b(read(_term)?)\(
\b(write(q)?)\(
\b(write_(canonical|term))\(
\b((current_)?op)\(
\b((current_)?char_conversion)\(
(\\\+)
\b(once)\(
\b(repeat)[^[(A-Za-z_]]
\b(atom_(length|concat|chars|codes))\(
\b(sub_atom)\(
\b(char_code)\(
\b(number_(chars|codes))\(
\b((set|current)_prolog_flag)\(
\b(halt)\(
\b(halt)[^[(A-Za-z_]]
(?<=[^[A-Za-z0-9]]|^)([0-9]+((\.[0-9]+)?([eE][-+][0-9]+)?)?)
(?<=[^[A-Za-z0-9]]|^)(0b[0-1]+)
(?<=[^[A-Za-z0-9]]|^)(0o[0-7]+)
(?<=[^[A-Za-z0-9]]|^)(0x[0-9a-fA-F]+)
(?<=[^[A-Za-z0-9]]|^)(0'[0-9a-zA-Z])
(@)(?=(,|[:alpha:]))
(\?)(?=(,|[:alpha:]))
(\+)(?=(,|[:alpha:]))
(-)(?=(,|[:alpha:]))
(::)(?=(,|[)]))
(\*)(?=(,|[)]))
"
"
(?<!0)'
'