comment start "%" comment delim "/*" "*/" multiline nested string delim "\"" "\"" escape "\\" string delim "'" "'" escape "\\" keyword = '\<(abolish|c(urrent|reate))_(object|protocol|category)(?=\()', '\<(object|protocol|category)_property(?=\()', '\', '\<(stream_property|at_end_of_stream|set_stream_position)(?=\()', '\<(get|p(eek|ut))_(byte|c(har|ode))(?=\()', '\', '\<(read(_term)?)(?=\()', '\<(write(q|_(canonical|term))?)(?=\()', '\<(op|current_op)(?=\()', '\<((current_)?char_conversion)(?=\()', '\', '\', '\<(is|rem|mod)\>' variable = '\<[A-Z_][A-Za-z0-9_]*' cbracket = "{|}" preproc = '^[[:blank:]]*:-[[:blank:]](ca(lls|tegory) | p(ublic|r(ot(ocol|ected)|ivate)) | e(ncoding|xports) | in(fo|itialization) | alias | d(ynamic|iscontiguous) | meta_predicate | m(etapredicate|od(e|ule)|ultifile) | o(bject|p) | use(s|_module))(?=\()', '^[[:blank:]]*:-[[:blank:]](end_(category|object|protocol) | dynamic)\.' preproc = '\<(extends|i(nstantiates|mp(lements|orts))|specializes)(?=\()' normal = '\<[a-z][A-Za-z0-9_]*' number = '0\'[A-Za-z0-9] | 0b[0-1]+ | 0o[0-7]+ | 0x[0-9a-fA-F]+ | [0-9]+(\.[0-9]+)?([eE]([-+])?[0-9]+)?' symbol = "::", "^^", ">>", "<<", "/\\", "\\/", "\\", "=:=", "=\\=", "<", "=<", ">", ">=", "=..", "\\==", "==", "@=<", "@<", "@>=", "@>", "=", "\\=", "+", "-", "**", "*", "//", "/", "-->", "!", "->", ";", "\\+", "?", "@", ":-"