Files
RedBear-OS/local/recipes/kde/kf6-syntaxhighlighting/source/data/syntax/ada.xml
T

347 lines
16 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language
[
<!ENTITY b2 "[0-1]++(_?[0-1])*+">
<!ENTITY b3 "[0-2]++(_?[0-2])*+">
<!ENTITY b4 "[0-3]++(_?[0-3])*+">
<!ENTITY b5 "[0-4]++(_?[0-4])*+">
<!ENTITY b6 "[0-5]++(_?[0-5])*+">
<!ENTITY b7 "[0-6]++(_?[0-6])*+">
<!ENTITY b8 "[0-7]++(_?[0-7])*+">
<!ENTITY b9 "[0-8]++(_?[0-8])*+">
<!ENTITY b10 "[0-9]++(_?[0-9])*+">
<!ENTITY b11 "[0-9a-a]++(_?[0-9]a-a)*+">
<!ENTITY b12 "[0-9a-b]++(_?[0-9]a-b)*+">
<!ENTITY b13 "[0-9a-c]++(_?[0-9]a-c)*+">
<!ENTITY b14 "[0-9a-d]++(_?[0-9]a-d)*+">
<!ENTITY b15 "[0-9a-e]++(_?[0-9]a-e)*+">
<!ENTITY b16 "[0-9a-f]++(_?[0-9]a-f)*+">
]>
<language name="Ada"
version="7"
kateversion="5.79"
section="Sources"
extensions="*.adb;*.ads;*.ada;*.a"
indenter="ada"
mimetype="text/x-adasrc">
<highlighting>
<!-- http://ada-auth.org/standards/rm12_w_tc1/html/RM-P.html -->
<!-- http://ada-auth.org/standards/rm12_w_tc1/html/RM-2-9.html -->
<list name="keywords">
<item>abort</item>
<item>abs</item>
<item>abstract</item>
<item>accept</item>
<item>access</item>
<item>aliased</item>
<item>all</item>
<item>and</item>
<item>array</item>
<item>at</item>
<item>begin</item>
<item>body</item>
<item>case</item>
<item>constant</item>
<item>declare</item>
<item>delay</item>
<item>delta</item>
<item>digits</item>
<item>do</item>
<item>else</item>
<item>elsif</item>
<item>end</item>
<item>entry</item>
<item>exception</item>
<item>exit</item>
<item>for</item>
<item>function</item>
<item>generic</item>
<item>goto</item>
<item>if</item>
<item>in</item>
<item>interface</item>
<item>is</item>
<item>limited</item>
<item>loop</item>
<item>mod</item>
<item>new</item>
<item>not</item>
<item>null</item>
<item>of</item>
<item>or</item>
<item>others</item>
<item>out</item>
<item>overriding</item>
<item>package</item>
<item>pragma</item>
<item>private</item>
<item>procedure</item>
<item>protected</item>
<item>raise</item>
<item>range</item>
<item>record</item>
<item>rem</item>
<item>renames</item>
<item>requeue</item>
<item>return</item>
<item>reverse</item>
<item>select</item>
<item>separate</item>
<item>some</item>
<item>subtype</item>
<item>synchronized</item>
<item>tagged</item>
<item>task</item>
<item>terminate</item>
<item>then</item>
<item>type</item>
<item>until</item>
<item>use</item>
<item>when</item>
<item>while</item>
<item>with</item>
<item>xor</item>
</list>
<list name="pragmas">
<item>all_calls_remote</item>
<item>assert</item>
<item>assertion_policy</item>
<item>asynchronous</item>
<item>atomic</item>
<item>atomic_components</item>
<item>attach_handler</item>
<item>controlled</item>
<item>convention</item>
<item>detect_blocking</item>
<item>discard_names</item>
<item>elaborate</item>
<item>elaborate_all</item>
<item>elaborate_body</item>
<item>export</item>
<item>import</item>
<item>inline</item>
<item>inspection_point</item>
<item>interrupt_handler</item>
<item>interrupt_priority</item>
<item>linker_options</item>
<item>list</item>
<item>locking_policy</item>
<item>no_return</item>
<item>normalize_scalars</item>
<item>optimize</item>
<item>pack</item>
<item>page</item>
<item>partition_elaboration_policy</item>
<item>preelaborable_initialization</item>
<item>preelaborate</item>
<item>priority</item>
<item>priority_specific_dispatching</item>
<item>profile</item>
<item>pure</item>
<item>queuing_policy</item>
<item>relative_deadline</item>
<item>remote_call_interface</item>
<item>remote_types</item>
<item>restrictions</item>
<item>reviewable</item>
<item>shared_passive</item>
<item>storage_size</item>
<item>suppress</item>
<item>task_dispatching_policy</item>
<item>unchecked_union</item>
<item>unsuppress</item>
<item>volatile</item>
<item>volatile_components</item>
</list>
<list name="types">
<item>boolean</item>
<item>character</item>
<item>float</item>
<item>integer</item>
<item>long_float</item>
<item>long_integer</item>
<item>long_long_float</item>
<item>long_long_integer</item>
<item>short_float</item>
<item>short_integer</item>
<item>string</item>
<item>wide_string</item>
<item>wide_character</item>
<item>wide_wide_character</item>
<item>wide_wide_string</item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Default">
<DetectSpaces />
<StringDetect attribute="Region Marker" context="Region Marker" String="-- BEGIN" beginRegion="RegionMarker" firstNonSpace="true" />
<StringDetect attribute="Region Marker" context="Region Marker" String="-- END" endRegion="RegionMarker" firstNonSpace="true" />
<Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/>
<AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;|"/>
<AnyChar context="Numeric" String="0123456789" lookAhead="1"/>
<DetectChar context="String" char="&quot;" lookAhead="1"/>
<WordDetect attribute="Keyword" context="#stay" String="record" insensitive="true" beginRegion="RecordRegion"/>
<WordDetect attribute="Keyword" context="#stay" String="case" insensitive="true" beginRegion="CaseRegion"/>
<WordDetect attribute="Keyword" context="#stay" String="if" insensitive="true" beginRegion="IfRegion"/>
<WordDetect attribute="Keyword" context="#stay" String="loop" insensitive="true" beginRegion="LoopRegion"/>
<WordDetect attribute="Keyword" context="#stay" String="select" insensitive="true" beginRegion="SelectRegion"/>
<WordDetect attribute="Keyword" context="#stay" String="begin" insensitive="true" beginRegion="BeginRegion"/>
<WordDetect attribute="Keyword" context="End" String="end" insensitive="true" lookAhead="1"/>
<WordDetect attribute="Keyword" context="Null" String="null" insensitive="true"/>
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Pragmas" context="#stay" String="pragmas" />
<keyword attribute="Data Type" context="#stay" String="types" />
<DetectIdentifier />
<RegExpr attribute="Char" context="#stay" String="'.'"/>
</context>
<context attribute="Keyword" lineEndContext="#pop" name="End">
<RegExpr attribute="Keyword" context="#pop" String="end\s+record\b" insensitive="true" endRegion="RecordRegion"/>
<RegExpr attribute="Keyword" context="#pop" String="end\s+case\b" insensitive="true" endRegion="CaseRegion"/>
<RegExpr attribute="Keyword" context="#pop" String="end\s+if\b" insensitive="true" endRegion="IfRegion"/>
<RegExpr attribute="Keyword" context="#pop" String="end\s+loop\b" insensitive="true" endRegion="LoopRegion"/>
<RegExpr attribute="Keyword" context="#pop" String="end\s+select\b" insensitive="true" endRegion="SelectRegion"/>
<DetectIdentifier attribute="Keyword" context="#pop" endRegion="BeginRegion"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Null" fallthroughContext="#pop">
<DetectSpaces attribute="Normal Text"/>
<WordDetect attribute="Keyword" context="#pop" String="record" insensitive="true"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Numeric">
<RegExpr attribute="Float" context="NumericExp" String="\b&b10;\.&b10;"/>
<RegExpr attribute="Decimal" context="NumericExp" String="\b&b10;(?!#)"/>
<WordDetect attribute="Base" context="Base2" String="2#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base3" String="3#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base4" String="4#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base5" String="5#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base6" String="6#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base7" String="7#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base8" String="8#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base9" String="9#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base10" String="10#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base11" String="11#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base12" String="12#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base13" String="13#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base14" String="14#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base15" String="15#" additionalDeliminator="#"/>
<WordDetect attribute="Base" context="Base16" String="16#" additionalDeliminator="#"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="NumericExp" fallthroughContext="#pop#pop">
<RegExpr attribute="Exponent" context="#pop#pop" String="(?:[eE][-+]?&b10;)"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base2" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b2;\.&b2;"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b2;"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base3" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b3;\.&b3;"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b3;"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base4" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b4;\.&b4;"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b4;"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base5" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b5;\.&b5;"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b5;"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base6" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b6;\.&b6;"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b6;"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base7" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b7;\.&b7;"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b7;"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base8" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b8;\.&b8;"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b8;"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base9" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b9;\.&b9;"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b9;"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base10" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b10;\.&b10;"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b10;"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base11" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b11;\.&b11;" insensitive="1"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b11;" insensitive="1"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base12" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b12;\.&b12;" insensitive="1"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b12;" insensitive="1"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base13" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b13;\.&b13;" insensitive="1"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b13;" insensitive="1"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base14" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b14;\.&b14;" insensitive="1"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b14;" insensitive="1"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base15" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b15;\.&b15;" insensitive="1"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b15;" insensitive="1"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Base16" fallthroughContext="#pop#pop">
<RegExpr attribute="Float" context="BaseExp" String="&b16;\.&b16;" insensitive="1"/>
<RegExpr attribute="Decimal" context="BaseExp" String="&b16;" insensitive="1"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="BaseExp" fallthroughContext="#pop#pop#pop">
<DetectChar attribute="Base" context="#pop#pop!NumericExp" char="#"/>
</context>
<context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
</context>
<context attribute="String" lineEndContext="#pop" name="String" fallthroughContext="PartialString">
<RangeDetect attribute="String" context="#pop" char="&quot;" char1="&quot;"/>
</context>
<context attribute="String" lineEndContext="#pop#pop" name="PartialString">
</context>
<context attribute="Comment" lineEndContext="#pop" name="Comment">
<DetectSpaces attribute="Comment"/>
<IncludeRules context="##Comments" />
<DetectIdentifier attribute="Comment"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Keyword" defStyleNum="dsKeyword" />
<itemData name="Pragmas" defStyleNum="dsExtension" bold="1" />
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal" />
<itemData name="Float" defStyleNum="dsFloat" />
<itemData name="Base" defStyleNum="dsBaseN" />
<itemData name="Exponent" defStyleNum="dsDecVal" />
<itemData name="Char" defStyleNum="dsChar" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Symbol" defStyleNum="dsOperator"/>
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="--" position="afterwhitespace" />
</comments>
<keywords casesensitive="0" />
</general>
</language>
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->