Logtalk
\b([A-Z_][A-Za-z0-9_]*)
:-\s(object)\(
:-\s(protocol)\(
:-\s(category)\(
:-\s(end_(object|protocol|category))\.
:-\s(alias)\(
:-\s(e(ncoding|xport))\(
:-\s(initialization)\(
:-\s(info)\(
:-\s(mod(e|ule))\(
:-\s(dynamic)\(
:-\s(dynamic)\.
:-\s(discontiguous)\(
:-\s(p(ublic|r(otected|ivate)))\(
:-\s(m(eta_predicate|ultifile))\(
:-\s(op)\(
:-\s(calls)\(
:-\s(use(s|_module))\(
:-\s(synchronized)\(
:-\s(synchronized)\.
:-\s(threaded)\.
\b(specializes)\(
\b(extends)\(
\b(i(mp(orts|lements)|nstantiates))\(
(::)
(\^\^)
(:)
(\{)
(\})
\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(a(bolish|ssert(a|z)))\(
\b(clause)\(
\b(retract(all)?)\(
\b((bag|set)of)\(
\b(f(ind|or)all)\(
\b(before)\(
\b(after)\(
\b(expand_term)\(
\b(term_expansion)\(
\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(impl(ements_protocol|orts_category))\(
\b((instantiat|specializ)es_class)\(
\b(define_events)\(
\b((se|curren)t_logtalk_flag)\(
\b(logtalk_(compile|l(ibrary_path|oad)))\(
\b(forall)\(
\b(threaded(_(call|once|ignore|exit|peek|wait|notify))?)\(
\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((curren|se)t_(in|out)put)\(
\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|p(eek|ut))_c(har|ode))\(
\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|c(hars|o(ncat|des))))\(
\b(sub_atom)\(
\b(char_code)\(
\b(number_c(har|ode)s)\(
\b((se|curren)t_prolog_flag)\(
\b(halt)\(
\b(halt)[^[(A-Za-z_]]
(@)(?=(,|[:alpha:]))
(\?)(?=(,|[:alpha:]))
(\+)(?=(,|[:alpha:]))
(-)(?=(,|[:alpha:]))
(?<=[^[A-Za-z_0-9]]|^)(\d+((\.\d+)?([eE]([-+])?\d+)?)?)
(?<=[^[A-Za-z_0-9]]|^)(0b[0-1]+)
(?<=[^[A-Za-z_0-9]]|^)(0o[0-7]+)
(?<=[^[A-Za-z_0-9]]|^)(0x\h+)
(?<=[^[A-Za-z_0-9]]|^)(0'.)
(::)(?=(,|[)]))
(\*)(?=(,|[)]))
(:-)
(?<!0')"
"
(?<!0)'
'