<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language
[
<!ENTITY gr_char_iso "[#$&*+\-./:<=>?@^~\\]">
<!ENTITY any_nw "[^ \t]">
<!ENTITY any ".">
<!ENTITY fullstop_iso "\.(?!(\(|&gr_char_iso;))">
<!ENTITY logic_control_ops_iso "(;|->|\\\+|:-|=|\\=)(?!&gr_char_iso;)">
<!ENTITY dcg_production_iso "-->(?!&gr_char_iso;)">
<!ENTITY arith_compare_iso "(=:=|=\\=|=<|<|>=|>)(?!&gr_char_iso;)">
<!ENTITY arith_ops_mixed_iso "(\+|-|\*|\^)(?!&gr_char_iso;)">
<!ENTITY arith_ops_int_iso "//(?!&gr_char_iso;)">
<!ENTITY arith_ops_float_iso "(/|\*\*)(?!&gr_char_iso;)">
<!ENTITY arith_bogus_iso "(/\\|\\/|\\|<<|>>)(?!&gr_char_iso;)">
<!ENTITY predefined_ops_iso "(\?-|==|\\==|@=<|@<|@>=|@>|=\.\.|@|:)(?!&gr_char_iso;)">
<!ENTITY float3_iso "[0-9]+E[+\-]?[0-9]+">
<!ENTITY float2_iso "[0-9]+\.[0-9]+">
<!ENTITY float1_iso "[0-9]+\.[0-9]+E[+\-]?[0-9]+">
<!ENTITY esc_oct_iso "\\[0-7]+\\">
<!ENTITY esc_hex_iso "\\x[a-fA-F0-9]+\\">
<!ENTITY any_lower_iso "abcdefghijklmnopqrstuvwxyz">
<!ENTITY any_upper_under_iso "ABCDEFGHIJKLMNOPQRSTUVWXYZ_">
<!ENTITY any_bin_iso "01">
<!ENTITY any_oct_iso "01234567">
<!ENTITY any_dec_iso "0123456789">
<!ENTITY any_hex_iso "0123456789abcdefABCDEF">
<!ENTITY any_graphic_iso "#$&*+-./:<=>?@^~\">
<!ENTITY any_esc_iso "abfnrtv\'`"]">
<!ENTITY dot ".">
<!ENTITY comma ",">
<!ENTITY cut "!">
<!ENTITY bar "|">
<!ENTITY tab "	">
<!ENTITY bs "\">
]>
<language name="Prolog" section="Sources"
version="17" kateversion="5.62"
mimetype="text/x-prolog"
extensions="*.prolog;*.dcg;*.pro"
author="Torsten Eichstädt (torsten.eichstaedt@web.de)"
license="LGPLv2+">
<highlighting>
<list name="error term ISO">
<item>error</item>
</list>
<list name="guru meditation terms ISO">
<item>instantiation_error</item>
<item>uninstantiation_error</item>
<item>type_error</item>
<item>domain_error</item>
<item>existence_error</item>
<item>permission_error</item>
<item>representation_error</item>
<item>evaluation_error</item>
<item>resource_error</item>
<item>syntax_error</item>
<item>system_error</item>
</list>
<list name="bogus ISO">
<item>char_conversion</item>
<item>current_char_conversion</item>
<item>include</item>
<item>ensure_loaded</item>
<item>atan</item>
<item>xor</item>
</list>
<list name="logic+control ISO">
<item>initialization</item>
<item>fail</item>
<item>repeat</item>
<item>call</item>
<item>catch</item>
<item>throw</item>
<item>true</item>
<item>false</item>
<item>once</item>
</list>
<list name="dyn clause mgmt ISO">
<item>dynamic</item>
<item>asserta</item>
<item>assertz</item>
<item>retractall</item>
<item>retract</item>
<item>abolish</item>
<item>clause</item>
</list>
<list name="terms ISO">
<item>atom_concat</item>
<item>atom_length</item>
<item>atom_chars</item>
<item>atom_codes</item>
<item>arg</item>
<item>subsumes_term</item>
<item>acyclic_term</item>
<item>char_code</item>
<item>compare</item>
<item>copy_term</item>
<item>functor</item>
<item>number_chars</item>
<item>number_codes</item>
<item>term_variables</item>
<item>unify_with_occurs_check</item>
</list>
<list name="DCG non-ISO">
<item>phrase</item>
</list>
<list name="streams ISO">
<item>open</item>
<item>set_stream_position</item>
<item>get_char</item>
<item>get_code</item>
<item>peek_char</item>
<item>peek_code</item>
<item>get_byte</item>
<item>peek_byte</item>
<item>put_char</item>
<item>put_code</item>
<item>put_byte</item>
<item>nl</item>
<item>read_term</item>
<item>read</item>
<item>write_canonical</item>
<item>writeq</item>
<item>write</item>
</list>
<list name="arith eval ISO">
<item>is</item>
</list>
<list name="arith ops int ISO">
<item>rem</item>
<item>mod</item>
<item>div</item>
</list>
<list name="arith expr mixed ISO">
<item>abs</item>
<item>sign</item>
<item>min</item>
<item>max</item>
</list>
<list name="arith expr int ISO">
<item>ceiling</item>
<item>floor</item>
<item>round</item>
<item>truncate</item>
</list>
<list name="arith expr float ISO">
<item>pi</item>
<item>sqrt</item>
<item>tan</item>
<item>cos</item>
<item>sin</item>
<item>atan2</item>
<item>acos</item>
<item>asin</item>
<item>exp</item>
<item>log</item>
<item>float</item>
<item>float_fractional_part</item>
<item>float_integer_part</item>
</list>
<list name="prolog state ISO">
<item>multifile</item>
<item>discontigous</item>
<item>op</item>
<item>set_prolog_flag</item>
</list>
<list name="types ISO">
<item>var</item>
<item>nonvar</item>
<item>atom</item>
<item>integer</item>
<item>float</item>
<item>number</item>
<item>atomic</item>
<item>compound</item>
<item>callable</item>
<item>ground</item>
</list>
<list name="built-ins ISO">
<item>current_op</item>
<item>current_prolog_flag</item>
<item>current_input</item>
<item>current_output</item>
<item>set_input</item>
<item>set_output</item>
<item>close</item>
<item>flush_output</item>
<item>at_end_of_stream</item>
<item>stream_property</item>
</list>
<contexts>
<context name="shebang" lineEndContext="clause" lineEmptyContext="clause" attribute="Syntax Error" fallthroughContext="clause">
<Detect2Chars column="0" char="#" char1="!" context="1-comment" attribute="% italic predicates: w/ side effects" />
</context>
<context name="syntax_error" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<DetectSpaces context="#pop" attribute="Syntax Error" />
<DetectIdentifier context="#pop" attribute="Syntax Error" />
<RegExpr String="&any;" context="#pop" attribute="Syntax Error" />
</context>
<context name="clause" lineEndContext="#stay" attribute="Syntax Error" >
<IncludeRules context="layout" />
<RegExpr String="&fullstop_iso;" context="#stay" attribute="Warning (!use background)" />
<RegExpr lookAhead="true" String="&any;" context="term" beginRegion="clause" attribute="Syntax Error" />
</context>
<context name="term" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<IncludeRules context="layout" />
<DetectChar char="(" context="nested" beginRegion="nested" attribute="( ) [ ]" />
<DetectChar char="[" context="list" beginRegion="list" attribute="( ) [ ]" />
<DetectChar char="{" context="curly" beginRegion="curly" attribute="{ DCG }" />
<AnyChar String=",&cut;" context="#stay" attribute="Logic & Control" />
<DetectChar char="&bar;" context="#stay" attribute="Normal Text" />
<Detect2Chars lookAhead="true" char="˙" char1="(" context="list_functor" attribute="Syntax Error" />
<RegExpr String="&fullstop_iso;" context="#pop" endRegion="clause" attribute="Logic & Control" />
<IncludeRules context="atomic" />
</context>
<context name="nested" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<IncludeRules context="layout" />
<DetectChar char=")" context="#pop" endRegion="nested" attribute="( ) [ ]" />
<DetectChar char="(" context="nested" beginRegion="nested" attribute="( ) [ ]" />
<DetectChar char="[" context="list" beginRegion="list" attribute="( ) [ ]" />
<DetectChar char="{" context="curly" beginRegion="curly" attribute="{ DCG }" />
<AnyChar String="&cut;," context="#stay" attribute="Logic & Control" />
<DetectChar char="&bar;" context="#stay" attribute="Normal Text" />
<Detect2Chars lookAhead="true" char="˙" char1="(" context="list_functor" attribute="Normal Text" />
<RegExpr String="&fullstop_iso;" context="#stay" attribute="Warning (!use background)" />
<IncludeRules context="atomic" />
</context>
<context name="list" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<IncludeRules context="layout" />
<DetectChar char="(" context="nested" beginRegion="nested" attribute="( ) [ ]" />
<DetectChar char="]" context="#pop" endRegion="list" attribute="( ) [ ]" />
<DetectChar char="[" context="list" beginRegion="list" attribute="( ) [ ]" />
<DetectChar char="{" context="curly" beginRegion="curly" attribute="( ) [ ]" />
<AnyChar String=",&cut;" context="#stay" attribute="Normal Text" />
<DetectChar char="&bar;" context="#stay" attribute="other built-in operator" />
<Detect2Chars lookAhead="true" char="˙" char1="(" context="list_functor" attribute="Normal Text" />
<IncludeRules context="atomic" />
</context>
<context name="curly" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<IncludeRules context="layout" />
<DetectChar char="(" context="nested" beginRegion="nested" attribute="( ) [ ]" />
<DetectChar char="[" context="list" beginRegion="list" attribute="( ) [ ]" />
<DetectChar char="}" context="#pop" endRegion="curly" attribute="{ DCG }" />
<DetectChar char="{" context="curly" beginRegion="curly" attribute="{ DCG }" />
<AnyChar String=",&cut;" context="#stay" attribute="Logic & Control" />
<DetectChar char="&bar;" context="#stay" attribute="Normal Text" />
<Detect2Chars lookAhead="true" char="˙" char1="(" context="list_functor" attribute="Normal Text" />
<IncludeRules context="atomic" />
</context>
<context name="arith_expr" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<DetectChar char="(" context="nested_expr" beginRegion="nested" attribute="( ) [ ]" />
<AnyChar lookAhead="true" String=")}]&bar;&cut;,&bar;" context="#pop"/>
<RegExpr lookAhead="true" String="&fullstop_iso;|&logic_control_ops_iso;" context="#pop" attribute="Logic & Control" />
<IncludeRules context="arith_expr_common" />
</context>
<context name="nested_expr" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<DetectChar char="(" context="nested_expr" beginRegion="nested" attribute="( ) [ ]" />
<DetectChar char=")" context="#pop" endRegion="nested" attribute="( ) [ ]" />
<DetectChar char="&cut;" context="#stay" attribute="Normal Text" />
<DetectChar char="," context="#stay" attribute="Syntax Error" />
<DetectChar char="&bar;" context="#stay" attribute="Normal Text" />
<RegExpr String="&logic_control_ops_iso;" context="#stay" attribute="other built-in operator" />
<IncludeRules context="arith_expr_common" />
</context>
<context name="list_functor" lineEndContext="syntax_error" attribute="Syntax Error" >
<DetectChar char="˙" context="#pop" attribute="other built-in predicate" />
</context>
<context name="sq" lineEndContext="#stay" attribute="'quo Ted'" noIndentationBasedFolding="true">
<IncludeRules context="quoted_1st"/>
<RegExpr String="(''|&esc_oct_iso;|&esc_hex_iso;|\\&any;|[^'\\]+)$"
context="syntax_error_sq" attribute="Syntax Error" />
<Detect2Chars char="'" char1="'" context="#stay" attribute="escaped (!use background)" />
<DetectChar char="'" context="#pop#pop" endRegion="quoted" attribute="'quo Ted'" />
<IncludeRules context="quoted_last"/>
</context>
<context name="dq" lineEndContext="#stay" attribute=""double-quoted"" noIndentationBasedFolding="true" >
<IncludeRules context="quoted_1st"/>
<RegExpr String="(""|&esc_oct_iso;|&esc_hex_iso;|\\&any;|[^"\\]+)$"
context="syntax_error_dq" attribute="Syntax Error" />
<Detect2Chars char=""" char1=""" context="#stay" attribute="escaped (!use background)" />
<DetectChar char=""" context="#pop#pop" endRegion="quoted" attribute=""double-quoted"" />
<IncludeRules context="quoted_last"/>
</context>
<context name="bq" lineEndContext="#stay" attribute="`back-quoted`" noIndentationBasedFolding="true" >
<IncludeRules context="quoted_1st"/>
<RegExpr String="(``|&esc_oct_iso;|&esc_hex_iso;|\\&any;|[^`\\]+)$"
context="syntax_error_bq" attribute="Syntax Error" />
<Detect2Chars char="`" char1="`" attribute="escaped (!use background)" />
<DetectChar char="`" context="#pop#pop" endRegion="quoted" attribute="`back-quoted`" />
<IncludeRules context="quoted_last"/>
</context>
<context name="single-quoted" lineEndContext="#stay" attribute="'quo Ted'" >
<LineContinue char="'" context="sq" beginRegion="quoted" attribute="Syntax Error" />
<DetectChar char="'" context="sq" beginRegion="quoted" attribute="'quo Ted'" />
</context>
<context name="double-quoted" lineEndContext="#stay" attribute=""double-quoted"" >
<LineContinue char=""" context="dq" beginRegion="quoted" attribute="Syntax Error" />
<DetectChar char=""" context="dq" beginRegion="quoted" attribute=""double-quoted"" />
</context>
<context name="back-quoted" lineEndContext="#stay" attribute="`back-quoted`" >
<LineContinue char="`" context="bq" beginRegion="quoted" attribute="Syntax Error" />
<DetectChar char="`" context="bq" beginRegion="quoted" attribute="`back-quoted`" />
</context>
<context name="syntax_error_sq" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<Detect2Chars char="\" char1="'" context="#pop" attribute="Syntax Error" />
<Detect2Chars char="'" char1="'" context="#pop" attribute="Syntax Error" />
<DetectChar char="'" context="#pop#pop#pop" endRegion="quoted" attribute="Syntax Error" />
<IncludeRules context="syntax_error"/>
</context>
<context name="syntax_error_dq" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<Detect2Chars char="\" char1=""" context="#pop" attribute="Syntax Error" />
<Detect2Chars char=""" char1=""" context="#pop" attribute="Syntax Error" />
<DetectChar char=""" context="#pop#pop#pop" endRegion="quoted" attribute="Syntax Error" />
<IncludeRules context="syntax_error"/>
</context>
<context name="syntax_error_bq" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
<Detect2Chars char="\" char1="`" context="#pop" attribute="Syntax Error" />
<Detect2Chars char="`" char1="`" context="#pop" attribute="Syntax Error" />
<DetectChar char="`" context="#pop#pop#pop" endRegion="quoted" attribute="Syntax Error" />
<IncludeRules context="syntax_error"/>
</context>
<context name="char_code" lineEndContext="#pop" attribute="Syntax Error" >
<Detect2Chars char="'" char1="'" context="#pop" attribute="escaped (!use background)" />
<DetectChar char="'" context="#pop" attribute="Syntax Error" />
<DetectChar char="&bs;" context="esc_seq_cc" attribute="escaped (!use background)" />
<DetectChar char="&tab;" context="#pop" attribute="Warning (!use background)" />
<RegExpr String="&any;" context="#pop" attribute="0'a (!use background)" />
</context>
<context name="syntax_error_cc" lineEndContext="#stay" attribute="Syntax Error"
fallthroughContext="#pop" >
<DetectSpaces context="#pop" attribute="Syntax Error" />
</context>
<context name="esc_seq_q" lineEndContext="syntax_error" attribute="Syntax Error" >
<RegExpr String="&esc_oct_iso;|&esc_hex_iso;" context="#pop" attribute="0'a (!use background)" />
<DetectChar char="&bs;" context="esc_seq_q2" attribute="escaped (!use background)" />
</context>
<context name="esc_seq_cc" fallthroughContext="#pop"
lineEndContext="#pop#pop" attribute="Syntax Error" >
<DetectChar char="&tab;" context="#pop#pop" attribute="Warning (!use background)" />
<AnyChar String="&any_esc_iso;" context="#pop#pop" attribute="escaped (!use background)" />
</context>
<context name="esc_seq_q2" fallthroughContext="#pop#pop"
lineEndContext="syntax_error" attribute="Syntax Error" >
<DetectChar char="&tab;" context="#pop#pop" attribute="Warning (!use background)" />
<AnyChar String="&any_esc_iso;" context="#pop#pop" attribute="escaped (!use background)" />
</context>
<context name="id" attribute="Syntax Error" lineEndContext="#stay" >
<DetectIdentifier context="#pop" attribute="Normal Text" />
</context>
<context name="var" attribute="Syntax Error" lineEndContext="#stay" >
<DetectIdentifier context="#pop" attribute="_VARIABLE" />
</context>
<context name="graphic" lineEndContext="#pop" attribute="Syntax Error" fallthroughContext="#pop" >
<AnyChar String="&any_graphic_iso;" context="#stay" attribute="Normal Text" />
</context>
<context name="bin" lineEndContext="#pop" attribute="Syntax Error" fallthroughContext="#pop" >
<AnyChar String="&any_bin_iso;" context="#stay" attribute="0b1001 0o007 0xF1" />
</context>
<context name="oct" lineEndContext="#pop" attribute="Syntax Error" fallthroughContext="#pop" >
<AnyChar String="&any_oct_iso;" context="#stay" attribute="0b1001 0o007 0xF1" />
</context>
<context name="hex" lineEndContext="#pop" attribute="Syntax Error" fallthroughContext="#pop" >
<AnyChar String="&any_hex_iso;" context="#stay" attribute="0b1001 0o007 0xF1" />
</context>
<context name="comment-iso" lineEndContext="#stay" attribute="% italic predicates: w/ side effects" >
<Detect2Chars char="*" char1="/" context="#pop" endRegion="comment"
attribute="% italic predicates: w/ side effects" />
<DetectSpaces />
<IncludeRules context="##Comments" />
<DetectIdentifier />
</context>
<context name="1-comment" lineEndContext="#pop" attribute="% italic predicates: w/ side effects" >
<DetectSpaces />
<IncludeRules context="##Comments" />
<DetectIdentifier />
</context>
<context name="region_marker" lineEndContext="#pop" attribute="%BEGIN folding region" noIndentationBasedFolding="true" >
<IncludeRules context="1-comment" />
</context>
<context name="layout_fold" lineEndContext="#stay" attribute="Syntax Error"
fallthroughContext="#pop" >
<DetectSpaces attribute="Normal Text" />
<StringDetect String="%BEGIN" context="region_marker" attribute="%BEGIN folding region"
firstNonSpace="true" beginRegion="user_region" />
<StringDetect String="%END" context="region_marker" attribute="%BEGIN folding region"
firstNonSpace="true" endRegion="user_region" />
<DetectChar firstNonSpace="true" char="%" context="1-comment" attribute="% italic predicates: w/ side effects" />
</context>
<context name="quoted_1st" lineEndContext="#stay" attribute="Syntax Error" >
<LineContinue attribute="escaped (!use background)" />
<DetectSpaces column="0" attribute="escaped (!use background)" />
</context>
<context name="quoted_last" lineEndContext="#stay" attribute="Syntax Error" >
<DetectChar lookAhead="true" char="&bs;" context="esc_seq_q" attribute="Syntax Error" />
<DetectChar char="&tab;" attribute="Warning (!use background)" />
<DetectIdentifier />
<DetectSpaces />
</context>
<context name="layout" lineEndContext="#stay" attribute="Syntax Error" >
<DetectSpaces attribute="Normal Text" />
<Detect2Chars char="/" char1="*" context="comment-iso" attribute="% italic predicates: w/ side effects"
beginRegion="comment" />
<StringDetect String="%BEGIN" context="region_marker" attribute="%BEGIN folding region"
firstNonSpace="true" beginRegion="user_region" />
<StringDetect String="%END" context="region_marker" attribute="%BEGIN folding region"
firstNonSpace="true" endRegion="user_region" />
<DetectChar firstNonSpace="true" char="%" context="layout_fold" attribute="% italic predicates: w/ side effects"
lookAhead="true" />
<DetectChar firstNonSpace="false" char="%" context="1-comment" attribute="% italic predicates: w/ side effects" />
</context>
<context name="atomic" lineEndContext="#stay" attribute="Syntax Error" >
<keyword String="logic+control ISO" context="#stay" attribute="Logic & Control" />
<keyword String="types ISO" context="#stay" attribute="Type Checking" />
<keyword String="dyn clause mgmt ISO" context="#stay" attribute="Dynamic Clause Management" />
<keyword String="streams ISO" context="#stay" attribute="Stream I/O" />
<keyword String="terms ISO" context="#stay" attribute="other built-in predicate" />
<keyword String="prolog state ISO" context="#stay" attribute="Prolog State" />
<keyword String="DCG non-ISO" context="#stay" attribute="{ DCG }" />
<keyword String="arith eval ISO" context="arith_expr" attribute="Arithmetics" />
<keyword String="built-ins ISO" context="#stay" attribute="other built-in predicate" />
<keyword String="error term ISO" context="#stay" attribute="Guru Meditation" />
<keyword String="guru meditation terms ISO" context="#stay" attribute="Guru Meditation Terms" />
<keyword String="bogus ISO" context="#stay" attribute="ISO Bogus" />
<IncludeRules context="number" />
<DetectChar lookAhead="true" char="'" context="single-quoted" attribute="'quo Ted'" />
<DetectChar lookAhead="true" char="`" context="back-quoted" attribute="`back-quoted`" />
<DetectChar lookAhead="true" char=""" context="double-quoted" attribute=""double-quoted"" />
<IncludeRules context="operator" />
<AnyChar lookAhead="true" String="&any_lower_iso;" context="id" attribute="Normal Text" />
<AnyChar lookAhead="true" String="&any_upper_under_iso;" context="var" attribute="_VARIABLE" />
<AnyChar String="&any_graphic_iso;" context="graphic" attribute="Normal Text" />
</context>
<context name="arith_expr_common" lineEndContext="#stay" attribute="Syntax Error" >
<IncludeRules context="layout" />
<IncludeRules context="number" />
<keyword String="bogus ISO" context="#stay" attribute="ISO Bogus" />
<keyword String="arith expr mixed ISO" context="#stay" attribute="Arithmetics" />
<keyword String="arith expr int ISO" context="#stay" attribute="Integer Arithmetics" />
<keyword String="arith expr float ISO" context="#stay" attribute="Float Arithmetics" />
<keyword String="arith ops int ISO" context="#stay" attribute="Integer Arithmetics" />
<RegExpr String="&arith_compare_iso;" context="#pop" attribute="Syntax Error" />
<RegExpr String="&arith_ops_mixed_iso;" context="#stay" attribute="Arithmetics" />
<RegExpr String="&arith_ops_int_iso;" context="#stay" attribute="Integer Arithmetics" />
<RegExpr String="&arith_ops_float_iso;" context="#stay" attribute="Float Arithmetics" />
<RegExpr String="&arith_bogus_iso;" context="#stay" attribute="ISO Bogus" />
<IncludeRules context="operator" />
<AnyChar lookAhead="true" String="&any_lower_iso;" context="id" attribute="Normal Text" />
<AnyChar lookAhead="true" String="&any_upper_under_iso;" context="var" attribute="_VARIABLE" />
<AnyChar String="&any_graphic_iso;" context="graphic" attribute="Normal Text" />
</context>
<context name="number" lineEndContext="#pop" attribute="Syntax Error" >
<RegExpr String="0'\\?$" context="syntax_error_cc" attribute="Syntax Error" />
<Detect2Chars char="0" char1="'" context="char_code" attribute="0'a (!use background)" />
<Detect2Chars char="0" char1="b" context="bin" attribute="0b1001 0o007 0xF1" />
<Detect2Chars char="0" char1="o" context="oct" attribute="0b1001 0o007 0xF1" />
<Detect2Chars char="0" char1="x" context="hex" attribute="0b1001 0o007 0xF1" />
<RegExpr String="&float1_iso;|&float2_iso;|&float3_iso;" context="#stay" attribute="2.718281E-9" />
<Int context="#stay" attribute="1 2 3 42" />
</context>
<context name="operator" lineEndContext="#pop" attribute="Syntax Error" >
<keyword String="arith eval ISO" context="arith_expr" attribute="Arithmetics" />
<keyword String="arith ops int ISO" context="#stay" attribute="other built-in operator" />
<RegExpr String="&logic_control_ops_iso;" context="#stay" attribute="Logic & Control" />
<RegExpr String="&predefined_ops_iso;" context="#stay" attribute="other built-in operator" />
<RegExpr String="&dcg_production_iso;" context="#stay" attribute="{ DCG }" />
<RegExpr String="&arith_compare_iso;" context="arith_expr" attribute="Arithmetics" />
<RegExpr String="&arith_ops_mixed_iso;|&arith_ops_int_iso;|&arith_ops_float_iso;" context="#stay" attribute="other built-in operator" />
<RegExpr String="&arith_bogus_iso;" context="#stay" attribute="ISO Bogus" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="_VARIABLE" defStyleNum="dsDataType" bold="false" spellChecking="false" />
<itemData name="'quo Ted'" defStyleNum="dsString" />
<itemData name="`back-quoted`" defStyleNum="dsString" italic="true" />
<itemData name=""double-quoted"" defStyleNum="dsOthers" />
<itemData name="escaped (!use background)" defStyleNum="dsChar" spellChecking="false"
backgroundColor="#0C0C0C" selBackgroundColor="#FFFFFF" />
<itemData name="2.718281E-9" defStyleNum="dsFloat" spellChecking="false" />
<itemData name="1 2 3 42" defStyleNum="dsDecVal" spellChecking="false" />
<itemData name="0b1001 0o007 0xF1" defStyleNum="dsBaseN" spellChecking="false" />
<itemData name="0'a (!use background)" defStyleNum="dsBaseN" spellChecking="false"
backgroundColor="#0C0C0C" selBackgroundColor="#FFFFFF" />
<itemData name="( ) [ ]" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="{ DCG }" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="Prolog State" defStyleNum="dsFunction" bold="true" spellChecking="false" />
<itemData name="Type Checking" defStyleNum="dsDataType" spellChecking="false" />
<itemData name="Logic & Control" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="other built-in operator" defStyleNum="dsFunction" spellChecking="false" />
<itemData name="other built-in predicate" defStyleNum="dsFunction" spellChecking="false" />
<itemData name="% italic predicates: w/ side effects" defStyleNum="dsComment" />
<itemData name="Dynamic Clause Management" defStyleNum="dsKeyword" italic="true" spellChecking="false" />
<itemData name="Stream I/O" defStyleNum="dsFunction" italic="true" spellChecking="false" />
<itemData name="Arithmetics" defStyleNum="dsDataType" bold="true" italic="true" spellChecking="false" />
<itemData name="Integer Arithmetics" defStyleNum="dsDecVal" bold="true" italic="true" spellChecking="false" />
<itemData name="Float Arithmetics" defStyleNum="dsFloat" bold="true" italic="true" spellChecking="false" />
<itemData name="ISO Bogus" defStyleNum="dsAlert" bold="true" italic="true" spellChecking="false" />
<itemData name="Guru Meditation" defStyleNum="dsNormal" spellChecking="false"
bold="true" italic="false" underline="false" color="#FF0000" selColor="#00FFFF" />
<itemData name="Guru Meditation Terms" defStyleNum="dsNormal" spellChecking="false"
bold="false" italic="true" underline="false" color="#FF0000" selColor="#00FFFF" />
<itemData name="Syntax Error" defStyleNum="dsError" spellChecking="false" />
<itemData name="Warning (!use background)" defStyleNum="dsAlert" spellChecking="false"
backgroundColor="#FC000C" selBackgroundColor="#03FFF3" />
<itemData name="%BEGIN folding region" defStyleNum="dsRegionMarker" spellChecking="false" />
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="true" additionalDeliminator="$#'"`" />
<folding indentationsensitive="true" />
<comments>
<comment name="singleLine" start="%" position="afterwhitespace" />
<comment name="multiLine" start="/*" end="*/" region="comment" />
</comments>
</general>
</language>