1preproc = "bgidriver|bgifont|check_determ|code|config|diagnostics|error|errorlevel|heap|gstacksize|nobreak|nowarnings|printermenu|project" 2 3comment start "%" 4 5include "number.lang" 6 7string delim "\"" "\"" escape "\\" 8string delim "'" "'" escape "\\" 9 10keyword = "abstract|align|as|and|class|clauses|constants|database|determ", 11 "domains|elsedef|endclass|enddef|erroneous|facts|failure|global", 12 "goal|if|ifdef|ifndef|implement|include|language|multi|nocopy", 13 "nondeterm|object|or|procedure|protected|predicates|reference", 14 "single|static|struct|this", 15 "ABSTRACT|ALIGN|AS|AND|CLASS|CLAUSES|CONSTANTS|DATABASE|DETERM", 16 "DOMAINS|ELSEDEF|ENDCLASS|ENDDEF|ERRONEOUS|FACTS|FAILURE|GLOBAL", 17 "GOAL|IF|IFDEF|IFNDEF|IMPLEMENT|INCLUDE|LANGUAGE|MULTI|NOCOPY", 18 "NONDETERM|OBJECT|OR|PROCEDURE|PROTECTED|PREDICATES|REFERENCE", 19 "SINGLE|STATIC|STRUCT|THIS", 20 "assert|asserta|assertz|bound|chain_inserta|chain_insertafter", 21 "chain_insertz|chain_terms|consult|db_btrees|db_chains|fail", 22 "findall|format|free|msgrecv|msgsend|nl|not|readterm|ref_term|retract", 23 "retractall|save|term_bin|term_replace|term_str|trap|write|writef", 24 "mod|div|abs|exp|ln|log|sqrt|round|trunc|val|cos|sin|tan|arctan", 25 "random|randominit" 26 27comment delim "/*" "*/" multiline nested 28 29type = "char|real|string|symbol|byte|sbyte|short|ushort|word|integer|unsigned|dword|long|ulong|binary|ref" 30 31include "symbols.lang" 32 33cbracket = "{|}" 34 35include "function.lang" 36 37variable = '[[:upper:]][[:word:]]*|_'