<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="Modula-2" mimetype="text/x-modula2" version="8" kateversion="5.62" section="Sources" priority="5" extensions="*.mod;*.def" author="B. Kowarsch (trijezdci@github)" license="MIT"><highlighting><list name="workaround"><item>???</item></list><list name="common-keywords"><item>AND</item><item>ARRAY</item><item>BEGIN</item><item>BY</item><item>CASE</item><item>CONST</item><item>DEFINITION</item><item>DIV</item><item>DO</item><item>ELSE</item><item>ELSIF</item><item>END</item><item>EXIT</item><item>FOR</item><item>FROM</item><item>IF</item><item>IMPLEMENTATION</item><item>IMPORT</item><item>IN</item><item>LOOP</item><item>MOD</item><item>MODULE</item><item>NOT</item><item>OF</item><item>OR</item><item>POINTER</item><item>PROCEDURE</item><item>RECORD</item><item>REPEAT</item><item>RETURN</item><item>SET</item><item>THEN</item><item>TO</item><item>TYPE</item><item>UNTIL</item><item>VAR</item><item>WHILE</item></list><list name="common-constants"><item>FALSE</item><item>NIL</item><item>TRUE</item></list><list name="common-types"><item>BOOLEAN</item><item>CARDINAL</item><item>CHAR</item><item>INTEGER</item><item>LONGREAL</item><item>REAL</item></list><list name="common-procedures"><item>ABS</item><item>CHR</item><item>MAX</item><item>MIN</item><item>ODD</item><item>ORD</item></list><list name="common-unsafe"><item>ADDRESS</item><item>ADR</item><item>WORD</item></list><list name="pim-only-libraries"><item>InOut</item><item>MathLib0</item></list><list name="iso-only-keywords"><item>EXCEPT</item><item>FINALLY</item><item>PACKEDSET</item><item>REM</item><item>RETRY</item></list><list name="iso-only-constants"><item>INTERRUPTIBLE</item><item>UNINTERRUPTIBLE</item></list><list name="iso-only-types"><item>PROTECTION</item></list><list name="iso-only-procedures"><item>CMPLX</item><item>IM</item><item>LFLOAT</item><item>RE</item></list><list name="iso-only-unsafe"><item>ADDADR</item><item>BITSPERLOC</item><item>BITSPERWORD</item><item>DIFADR</item><item>LOC</item><item>MAKEADR</item><item>ROTATE</item><item>SHIFT</item><item>SUBADR</item></list><list name="iso-only-libraries"><item>ConvTypes</item><item>IOConsts</item><item>IOLink</item><item>IOResult</item><item>LongIO</item><item>RawIO</item><item>RealStr</item><item>SIOResult</item><item>SLongIO</item><item>SRawIO</item><item>SRealIO</item><item>SWholeIO</item><item>WholeConv</item><item>WholeIO</item><item>WholeStr</item></list><list name="r10-only-keywords"><item>ALIAS</item><item>ARGLIST</item><item>BLUEPRINT</item><item>COPY</item><item>GENLIB</item><item>OPAQUE</item><item>READ</item><item>REFERENTIAL</item><item>RELEASE</item><item>RETAIN</item><item>WRITE</item><item>YIELD</item></list><list name="r10-only-types"><item>OCTET</item><item>UNICHAR</item></list><list name="r10-only-procedures"><item>APPEND</item><item>CAPACITY</item><item>COUNT</item><item>INSERT</item><item>LOG2</item><item>POW2</item><item>PRED</item><item>PTR</item><item>REMOVE</item><item>SGN</item><item>SUCC</item></list><list name="r10-only-macros"><item>TLIMIT</item><item>TMAX</item><item>TMIN</item></list><list name="r10-only-unsafe"><item>BIT</item><item>BWAND</item><item>BWNOT</item><item>BWOR</item><item>LONGWORD</item><item>OCTETSEQ</item><item>SETBIT</item><item>SHL</item><item>SHR</item><item>UNSAFE</item></list><list name="r10-only-libraries"><item>PervasiveIO</item><item>UnsafeIO</item></list><list name="pim-keywords"><item>AND</item><item>ARRAY</item><item>BEGIN</item><item>BY</item><item>CASE</item><item>CONST</item><item>DEFINITION</item><item>DIV</item><item>DO</item><item>ELSE</item><item>ELSIF</item><item>END</item><item>EXIT</item><item>EXPORT</item><item>FOR</item><item>FROM</item><item>IF</item><item>IMPLEMENTATION</item><item>IMPORT</item><item>IN</item><item>LOOP</item><item>MOD</item><item>MODULE</item><item>NOT</item><item>OF</item><item>OR</item><item>POINTER</item><item>PROCEDURE</item><item>QUALIFIED</item><item>RECORD</item><item>REPEAT</item><item>RETURN</item><item>SET</item><item>THEN</item><item>TO</item><item>TYPE</item><item>UNTIL</item><item>VAR</item><item>WHILE</item><item>WITH</item></list><list name="pim-constants"><item>FALSE</item><item>NIL</item><item>TRUE</item></list><list name="pim-types"><item>BITSET</item><item>BOOLEAN</item><item>CARDINAL</item><item>CHAR</item><item>INTEGER</item><item>LONGINT</item><item>LONGREAL</item><item>PROC</item><item>REAL</item></list><list name="pim-procedures"><item>ABS</item><item>CAP</item><item>CHR</item><item>DEC</item><item>EXCL</item><item>FLOAT</item><item>HALT</item><item>HIGH</item><item>INC</item><item>INCL</item><item>MAX</item><item>MIN</item><item>ODD</item><item>ORD</item><item>SIZE</item><item>TRUNC</item><item>VAL</item></list><list name="pim-macros"><item>ALLOCATE</item><item>DEALLOCATE</item><item>DISPOSE</item><item>NEW</item></list><list name="pim-unsafe"><item>ADDRESS</item><item>ADR</item><item>NEWPROCESS</item><item>PROCESS</item><item>SYSTEM</item><item>TRANSFER</item><item>TSIZE</item><item>WORD</item></list><list name="iso-keywords"><item>AND</item><item>ARRAY</item><item>BEGIN</item><item>BY</item><item>CASE</item><item>CONST</item><item>DEFINITION</item><item>DIV</item><item>DO</item><item>ELSE</item><item>ELSIF</item><item>END</item><item>EXCEPT</item><item>EXIT</item><item>EXPORT</item><item>FINALLY</item><item>FOR</item><item>FORWARD</item><item>FROM</item><item>IF</item><item>IMPLEMENTATION</item><item>IMPORT</item><item>IN</item><item>LOOP</item><item>MOD</item><item>MODULE</item><item>NOT</item><item>OF</item><item>OR</item><item>PACKEDSET</item><item>POINTER</item><item>PROCEDURE</item><item>QUALIFIED</item><item>RECORD</item><item>REM</item><item>REPEAT</item><item>RETRY</item><item>RETURN</item><item>SET</item><item>THEN</item><item>TO</item><item>TYPE</item><item>UNTIL</item><item>VAR</item><item>WHILE</item><item>WITH</item></list><list name="iso-constants"><item>FALSE</item><item>INTERRUPTIBLE</item><item>NIL</item><item>TRUE</item><item>UNINTERRUPTIBLE</item></list><list name="iso-types"><item>BITSET</item><item>BOOLEAN</item><item>CARDINAL</item><item>CHAR</item><item>COMPLEX</item><item>INTEGER</item><item>LONGCOMPLEX</item><item>LONGREAL</item><item>PROC</item><item>PROTECTION</item><item>REAL</item></list><list name="iso-procedures"><item>ABS</item><item>CAP</item><item>CHR</item><item>CMPLX</item><item>DEC</item><item>EXCL</item><item>FLOAT</item><item>HALT</item><item>HIGH</item><item>IM</item><item>INC</item><item>INCL</item><item>INT</item><item>LENGTH</item><item>LFLOAT</item><item>MAX</item><item>MIN</item><item>ODD</item><item>ORD</item><item>RE</item><item>SIZE</item><item>TRUNC</item><item>VAL</item></list><list name="iso-macros"><item>ALLOCATE</item><item>DEALLOCATE</item><item>DISPOSE</item><item>NEW</item></list><list name="iso-unsafe"><item>ADDADR</item><item>ADDRESS</item><item>ADR</item><item>BITSPERLOC</item><item>BITSPERWORD</item><item>CAST</item><item>DIFADR</item><item>LOC</item><item>MAKEADR</item><item>ROTATE</item><item>SHIFT</item><item>SUBADR</item><item>SYSTEM</item><item>TSIZE</item><item>WORD</item></list><list name="r10-keywords"><item>ALIAS</item><item>AND</item><item>ARGLIST</item><item>ARRAY</item><item>BEGIN</item><item>BLUEPRINT</item><item>BY</item><item>CASE</item><item>CONST</item><item>COPY</item><item>DEFINITION</item><item>DIV</item><item>DO</item><item>ELSE</item><item>ELSIF</item><item>END</item><item>EXIT</item><item>FOR</item><item>FROM</item><item>GENLIB</item><item>IF</item><item>IMPLEMENTATION</item><item>IMPORT</item><item>IN</item><item>LOOP</item><item>MOD</item><item>MODULE</item><item>NEW</item><item>NOT</item><item>OF</item><item>OPAQUE</item><item>OR</item><item>POINTER</item><item>PROCEDURE</item><item>READ</item><item>RECORD</item><item>REFERENTIAL</item><item>RELEASE</item><item>REPEAT</item><item>RETAIN</item><item>RETURN</item><item>SET</item><item>THEN</item><item>TO</item><item>TYPE</item><item>UNTIL</item><item>VAR</item><item>WHILE</item><item>WRITE</item><item>YIELD</item></list><list name="r10-constants"><item>FALSE</item><item>NIL</item><item>TRUE</item></list><list name="r10-types"><item>BOOLEAN</item><item>CARDINAL</item><item>CHAR</item><item>INTEGER</item><item>LONGCARD</item><item>LONGINT</item><item>LONGREAL</item><item>OCTET</item><item>REAL</item><item>UNICHAR</item></list><list name="r10-procedures"><item>ABS</item><item>APPEND</item><item>CAPACITY</item><item>CHR</item><item>COUNT</item><item>ENTIER</item><item>INSERT</item><item>LENGTH</item><item>LOG2</item><item>MAX</item><item>MIN</item><item>ODD</item><item>ORD</item><item>POW2</item><item>PRED</item><item>PTR</item><item>REMOVE</item><item>SGN</item><item>SUCC</item></list><list name="r10-macros"><item>TLIMIT</item><item>TMAX</item><item>TMIN</item><item>TSIZE</item></list><list name="r10-unsafe"><item>ADD</item><item>ADDRESS</item><item>ADR</item><item>BIT</item><item>BWAND</item><item>BWNOT</item><item>BWOR</item><item>BYTE</item><item>BitsPerAddress</item><item>BitsPerByte</item><item>BytesPerLongWord</item><item>BytesPerWord</item><item>CAST</item><item>HALT</item><item>LONGWORD</item><item>NOP</item><item>OCTETSEQ</item><item>SETBIT</item><item>SHL</item><item>SHR</item><item>SUB</item><item>UNSAFE</item><item>WORD</item></list><contexts><context name="Common" attribute="Plain Source"><keyword String="workaround" attribute="Dummy"/><RegExpr String="\(\*\!m2pim(\+[a-z][a-z0-9]*)?\*\)" attribute="DialectTag" context="PIM"/><RegExpr String="\(\*\!m2iso(\+[a-z][a-z0-9]*)?\*\)" attribute="DialectTag" context="ISO"/><RegExpr String="\(\*\!m2r10(\+[a-z][a-z0-9]*)?\*\)" attribute="DialectTag" context="R10"/><keyword String="common-keywords" attribute="Keyword"/><keyword String="common-constants" attribute="Const"/><keyword String="common-types" attribute="Const"/><keyword String="common-procedures" attribute="Builtin"/><keyword String="common-unsafe" attribute="Unsafe"/><keyword String="iso-only-keywords" attribute="Keyword" context="ISO"/><keyword String="r10-only-keywords" attribute="Keyword" context="R10"/><keyword String="iso-only-constants" attribute="Const" context="ISO"/><keyword String="iso-only-types" attribute="Type" context="ISO"/><keyword String="r10-only-types" attribute="Type" context="R10"/><keyword String="iso-only-procedures" attribute="Builtin" context="ISO"/><keyword String="r10-only-procedures" attribute="Builtin" context="R10"/><keyword String="r10-only-macros" attribute="Builtin" context="R10"/><keyword String="iso-only-unsafe" attribute="Unsafe" context="ISO"/><keyword String="r10-only-unsafe" attribute="Unsafe" context="R10"/><keyword String="pim-only-libraries" attribute="Plain Source" context="PIM"/><keyword String="iso-only-libraries" attribute="Plain Source" context="ISO"/><keyword String="r10-only-libraries" attribute="Plain Source" context="R10"/><Float attribute="Number"/><Int attribute="Number"/><DetectChar char='"' attribute="String" context="DoubleQuoted"/><DetectChar char="'" attribute="String" context="SingleQuoted"/><StringDetect String="(*" attribute="Comment" context="BlockComment" beginRegion="FoldableComment"/></context><context name="ISO" attribute="Plain Source"><keyword String="iso-keywords" attribute="Keyword"/><keyword String="iso-constants" attribute="Const"/><keyword String="iso-types" attribute="Type"/><keyword String="iso-procedures" attribute="Builtin"/><keyword String="iso-macros" attribute="Builtin"/><keyword String="iso-unsafe" attribute="Unsafe"/><RegExpr String="0[0-9A-F]*H|[0-7]+[BC]" attribute="Number"/><Float attribute="Number"/><Int attribute="Number"/><DetectChar char='"' attribute="String" context="DoubleQuoted"/><DetectChar char="'" attribute="String" context="SingleQuoted"/><StringDetect String="&lt;*" attribute="Pragma" context="ISO-Pragma"/><StringDetect String="(*" attribute="Comment" context="BlockComment" beginRegion="FoldableComment"/></context><context name="R10" attribute="Plain Source"><keyword String="r10-keywords" attribute="Keyword"/><keyword String="r10-constants" attribute="Const"/><keyword String="r10-types" attribute="Type"/><keyword String="r10-procedures" attribute="Builtin"/><keyword String="r10-macros" attribute="Builtin"/><keyword String="r10-unsafe" attribute="Unsafe"/><RegExpr String="0b([01]+('[01]+)?)+|0[ux]([0-9A-F]+('[0-9A-F]+)?)+" attribute="Number"/><Float attribute="Number"/><RegExpr String="([1-9][0-9]*('[0-9]+)*)|0" attribute="Number"/><DetectChar char='"' attribute="String" context="DoubleQuoted"/><DetectChar char="'" attribute="String" context="SingleQuoted"/><StringDetect String="&lt;*" attribute="Pragma" context="ISO-Pragma"/><DetectChar char="!" attribute="Comment" context="LineComment"/><StringDetect String="(*" attribute="Comment" context="BlockComment" beginRegion="FoldableComment"/></context><context name="BlockComment" attribute="Comment"><StringDetect String="(*" attribute="Comment" context="BlockComment" beginRegion="FoldableComment"/><StringDetect String="*)" attribute="Comment" context="#pop" endRegion="FoldableComment"/><DetectSpaces/><IncludeRules context="##Comments"/></context><context name="DoubleQuoted" attribute="String" lineEndContext="#pop"><DetectChar char='"' attribute="String" context="#pop"/></context><context name="SingleQuoted" attribute="String" lineEndContext="#pop"><DetectChar char="'" attribute="String" context="#pop"/></context><context name="ISO-Pragma" attribute="Pragma"><StringDetect String="*>" attribute="Pragma" context="#pop"/></context><context name="PIM" attribute="Plain Source"><keyword String="pim-keywords" attribute="Keyword"/><keyword String="pim-constants" attribute="Const"/><keyword String="pim-types" attribute="Type"/><keyword String="pim-procedures" attribute="Builtin"/><keyword String="pim-macros" attribute="Builtin"/><keyword String="pim-unsafe" attribute="Unsafe"/><RegExpr String="0[0-9A-F]*H|[0-7]+[BC]" attribute="Number"/><Float attribute="Number"/><Int attribute="Number"/><DetectChar char='"' attribute="String" context="DoubleQuoted"/><DetectChar char="'" attribute="String" context="SingleQuoted"/><StringDetect String="(*$" attribute="Pragma" context="PIM-Pragma"/><StringDetect String="(*" attribute="Comment" context="BlockComment" beginRegion="FoldableComment"/></context><context name="LineComment" attribute="Comment" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="##Comments"/></context><context name="PIM-Pragma" attribute="Pragma"><StringDetect String="*)" attribute="Pragma" context="#pop"/></context></contexts><itemDatas><itemData name="Plain Source" defStyleNum="dsNormal" bold="0" italic="0"/><itemData name="Keyword" defStyleNum="dsKeyword" bold="1" italic="0"/><itemData name="Const" defStyleNum="dsBuiltIn" bold="1" italic="0"/><itemData name="Type" defStyleNum="dsDataType" bold="1" italic="0"/><itemData name="Builtin" defStyleNum="dsBuiltIn" bold="1" italic="0"/><itemData name="Unsafe" defStyleNum="dsWarning" bold="1" italic="0"/><itemData name="Number" defStyleNum="dsDecVal" bold="0" italic="0"/><itemData name="String" defStyleNum="dsString" bold="0" italic="0"/><itemData name="DialectTag" defStyleNum="dsComment" bold="1" italic="0"/><itemData name="Pragma" defStyleNum="dsPreprocessor" bold="1" italic="0"/><itemData name="Comment" defStyleNum="dsComment" bold="0" italic="1"/><itemData name="Dummy" defStyleNum="dsError"/></itemDatas></highlighting><general><keywords casesensitive="1"/><comments><comment name="multiLine" start="(*" end="*)" region="FoldableComment"/></comments></general></language>