Warning, /frameworks/syntax-highlighting/data/syntax/modula-3.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <!-- author ik Iztok Kobal (iztok.kobal@siol.net) -->
0004 <!-- followed CM3 documentation (http://www.elegosoft.com/cm3/doc/reference/index.html , chapter Syntax) -->
0005 <!-- 03.03.2005 ik mailed version 1.00 to Dominik Haumann <dhdev@gmx.de> of kate team -->
0006 <!-- 04.03.2005 ik mailed version 1.01 with fixed/implemented nested comments to Dominik -->
0007 <!-- known bug: notation Regexp( [0-9]*\. ) should be not interpreted as neither Integer neither Real -->
0008 <!-- known bug: notation Regexp ( "  \" " ) is not properly interpreted -->
0009 <language name="Modula-3" version="4" kateversion="5.0" section="Sources" extensions="*.m3;*.i3;*.ig;*.mg;" mimetype="text/x-modula-3" license="LGPL">
0010   <highlighting>
0011     <list name="keywords">
0012 <!--      <item>AND</item> -->
0013       <item>ANY</item>
0014       <item>ARRAY</item>
0015       <item>AS</item>
0016       <item>BEGIN</item>
0017       <item>BITS</item>
0018       <item>BRANDED</item>
0019       <item>BY</item>
0020       <item>CASE</item>
0021       <item>CONST</item>
0022 <!--      <item>DIV</item> -->
0023       <item>DO</item>
0024       <item>ELSE</item>
0025       <item>ELSIF</item>
0026       <item>END</item>
0027       <item>EVAL</item>
0028       <item>EXCEPT</item>
0029       <item>EXCEPTION</item>
0030       <item>EXIT</item>
0031       <item>EXPORTS</item>
0032       <item>FINALLY</item>
0033       <item>FOR</item>
0034       <item>FROM</item>
0035       <item>GENERIC</item>
0036       <item>IF</item>
0037       <item>IMPORT</item>
0038 <!--      <item>IN</item> -->
0039       <item>INTERFACE</item>
0040       <item>LOCK</item>
0041       <item>LOOP</item>
0042       <item>METHODS</item>
0043 <!--      <item>MOD</item> -->
0044       <item>MODULE</item>
0045 <!--      <item>NOT</item> -->
0046       <item>OBJECT</item>
0047       <item>OF</item>
0048 <!--      <item>OR</item> -->
0049       <item>OVERRIDES</item>
0050       <item>PROCEDURE</item>
0051       <item>RAISE</item>
0052       <item>RAISES</item>
0053       <item>READONLY</item>
0054       <item>RECORD</item>
0055       <item>REF</item>
0056       <item>REPEAT</item>
0057       <item>RETURN</item>
0058       <item>REVEAL</item>
0059       <item>ROOT</item>
0060       <item>SET</item>
0061       <item>THEN</item>
0062       <item>TO</item>
0063       <item>TRY</item>
0064       <item>TYPE</item>
0065       <item>TYPECASE</item>
0066       <item>UNSAFE</item>
0067       <item>UNTIL</item>
0068       <item>UNTRACED</item>
0069       <item>VALUE</item>
0070       <item>VAR</item>
0071       <item>WHILE</item>
0072       <item>WITH</item>
0073     </list>
0074     <list name="operators">
0075       <item>AND</item>
0076       <item>DIV</item>
0077       <item>IN</item>
0078       <item>MOD</item>
0079       <item>NOT</item>
0080       <item>OR</item>
0081       <item>+</item>
0082       <item>&lt;</item>
0083       <item>#</item>
0084       <item>=</item>
0085       <item>;</item>
0086       <item>..</item>
0087       <item>:</item>
0088       <item>-</item>
0089       <item>&gt;</item>
0090       <item>{</item>
0091       <item>}</item>
0092       <item>|</item>
0093       <item>:=</item>
0094       <item>&lt;:</item>
0095       <item>*</item>
0096       <item>&lt;=</item>
0097       <item>(</item>
0098       <item>)</item>
0099       <item>^</item>
0100       <item>,</item>
0101       <item>=&gt;</item>
0102       <item>/</item>
0103       <item>&gt;=</item>
0104       <item>[</item>
0105       <item>]</item>
0106       <item>.</item>
0107       <item>&amp;</item>
0108     </list>
0109     <list name="types">
0110       <item>ADDRESS</item>
0111       <item>BOOLEAN</item>
0112       <item>CARDINAL</item>
0113       <item>CHAR</item>
0114       <item>EXTENDED</item>
0115       <item>INTEGER</item>
0116       <item>LONGREAL</item>
0117       <item>MUTEX</item>
0118       <item>NULL</item>
0119       <item>REAL</item>
0120       <item>REFANY</item>
0121       <item>T</item>
0122       <item>TEXT</item>
0123     </list>
0124     <list name="constants">
0125       <item>FALSE</item>
0126       <item>NIL</item>
0127       <item>TRUE</item>
0128     </list>
0129     <list name="pervasives">
0130       <item>ABS</item>
0131       <item>ADR</item>
0132       <item>ADRSIZE</item>
0133       <item>BITSIZE</item>
0134       <item>BYTESIZE</item>
0135       <item>CEILING</item>
0136       <item>DEC</item>
0137       <item>DISPOSE</item>
0138       <item>FIRST</item>
0139       <item>FLOAT</item>
0140       <item>FLOOR</item>
0141       <item>INC</item>
0142       <item>ISTYPE</item>
0143       <item>LAST</item>
0144       <item>LOOPHOLE</item>
0145       <item>MAX</item>
0146       <item>MIN</item>
0147       <item>NARROW</item>
0148       <item>NEW</item>
0149       <item>NUMBER</item>
0150       <item>ORD</item>
0151       <item>ROUND</item>
0152       <item>SUBARRAY</item>
0153       <item>TRUNC</item>
0154       <item>TYPECODE</item>
0155       <item>VAL</item>
0156     </list>
0157     <list name="stdlibs">
0158       <item>Text</item>
0159       <item>Text.Length</item>
0160       <item>Text.Empty</item>
0161       <item>Text.Equal</item>
0162       <item>Text.Compare</item>
0163       <item>Text.Cat</item>
0164       <item>Text.Sub</item>
0165       <item>Text.Hash</item>
0166       <item>Text.HasWideChar</item>
0167       <item>Text.GetChar</item>
0168       <item>Text.GetWideChar</item>
0169       <item>Text.SetChars</item>
0170       <item>Text.SetWideChars</item>
0171       <item>Text.FromChars</item>
0172       <item>Text.FromWideChars</item>
0173       <item>Text.FindChar</item>
0174       <item>Text.FindWideChar</item>
0175       <item>Text.FindCharR</item>
0176       <item>Text.FindWideCharR</item>
0177       <item>Fmt</item>
0178       <item>Fmt.Bool</item>
0179       <item>Fmt.Char</item>
0180       <item>Fmt.Int</item>
0181       <item>Fmt.Unsigned</item>
0182       <item>Fmt.Real</item>
0183       <item>Fmt.LongReal</item>
0184       <item>Fmt.Extended</item>
0185       <item>Fmt.Pad</item>
0186       <item>Fmt.F</item>
0187       <item>Fmt.FN</item>
0188       <item>Scan</item>
0189       <item>Scan.Bool</item>
0190       <item>Scan.Int</item>
0191       <item>Scan.Unsigned</item>
0192       <item>Scan.Real</item>
0193       <item>Scan.LongReal</item>
0194       <item>Scan.Extended</item>
0195       <item>IO</item>
0196       <item>IO.Put</item>
0197       <item>IO.PutChar</item>
0198       <item>IO.PutWideChar</item>
0199       <item>IO.PutInt</item>
0200       <item>IO.PutReal</item>
0201       <item>IO.EOF</item>
0202       <item>IO.GetLine</item>
0203       <item>IO.GetChar</item>
0204       <item>IO.GetWideChar</item>
0205       <item>IO.GetInt</item>
0206       <item>IO.GetReal</item>
0207       <item>IO.OpenRead</item>
0208       <item>IO.OpenWrite</item>
0209       <item>Rd</item>
0210       <item>Rd.GetChar</item>
0211       <item>Rd.GetWideChar</item>
0212       <item>Rd.EOF</item>
0213       <item>Rd.UnGetChar</item>
0214       <item>Rd.CharsReady</item>
0215       <item>Rd.GetSub</item>
0216       <item>Rd.GetWideSub</item>
0217       <item>Rd.GetSubLine</item>
0218       <item>Rd.GetWideSubLine</item>
0219       <item>Rd.GetText</item>
0220       <item>Rd.GetWideText</item>
0221       <item>Rd.GetLine</item>
0222       <item>Rd.GetWideLine</item>
0223       <item>Rd.Seek</item>
0224       <item>Rd.Close</item>
0225       <item>Rd.Index</item>
0226       <item>Rd.Length</item>
0227       <item>Rd.Intermittend</item>
0228       <item>Rd.Seekable</item>
0229       <item>Rd.Closed</item>
0230       <item>Wr</item>
0231       <item>Wr.PutChar</item>
0232       <item>Wr.PutWideChar</item>
0233       <item>Wr.PutText</item>
0234       <item>Wr.PutWideText</item>
0235       <item>Wr.PutString</item>
0236       <item>Wr.PutWideString</item>
0237       <item>Wr.Seek</item>
0238       <item>Wr.Flush</item>
0239       <item>Wr.Close</item>
0240       <item>Wr.Length</item>
0241       <item>Wr.Index</item>
0242       <item>Wr.Seekable</item>
0243       <item>Wr.Closed</item>
0244       <item>Wr.Buffered</item>
0245       <item>Lex</item>
0246       <item>Lex.Scan</item>
0247       <item>Lex.Skip</item>
0248       <item>Lex.Match</item>
0249       <item>Lex.Bool</item>
0250       <item>Lex.Int</item>
0251       <item>Lex.Unsigned</item>
0252       <item>Lex.Real</item>
0253       <item>Lex.LongReal</item>
0254       <item>Lex.Extended</item>
0255       <item>Params</item>
0256       <item>Params.Count</item>
0257       <item>Params.Get</item>
0258       <item>Env</item>
0259       <item>Env.Count</item>
0260       <item>Env.Get</item>
0261       <item>Env.GetNth</item>
0262     </list>
0263     <contexts>
0264       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0265         <RegExpr attribute="Keyword" context="#stay" String="PROCEDURE[\s].*\(" beginRegion="Proc"/>
0266         <RegExpr attribute="Keyword" context="#stay" String="END\s*[A-Za-z][A-Za-z0-9_]*\;" endRegion="Proc"/>
0267         <RegExpr attribute="Keyword" context="#stay" String="\b(RECORD|OBJECT|TRY|WHILE|FOR|REPEAT|LOOP|IF|CASE|WITH)\b" beginRegion="Block"/>
0268         <RegExpr attribute="Keyword" context="#stay" String="\b(END;|END)\b" endRegion="Block"/>
0269         <keyword attribute="Keyword" context="#stay" String="keywords"/>
0270         <keyword attribute="Operator" context="#stay" String="operators"/>
0271         <keyword attribute="Type" context="#stay" String="types"/>
0272         <keyword attribute="Constant" context="#stay" String="constants"/>
0273         <keyword attribute="Pervasive" context="#stay" String="pervasives"/>
0274         <keyword attribute="StdLib" context="#stay" String="stdlibs"/>
0275         <RegExpr attribute="Real" context="#stay" String="\b[\+|\-]{0,1}[0-9]{1,}\.[0-9]{1,}([E|e|D|d|X|x][\+|\-]{0,1}[0-9]{1,}){0,1}\b"/>
0276         <RegExpr attribute="Integer" context="#stay" String="\b([\+|\-]{0,1}[0-9]{1,}|([2-9]|1[0-6])\_[0-9A-Fa-f]{1,})\b"/>
0277         <DetectChar attribute="String" context="String1" char="&quot;"/>
0278         <RegExpr attribute="Char" context="#stay" String="\'(.|\\[ntrf\\'&quot;]|\\[0-7]{3})\'"/>
0279         <Detect2Chars attribute="Pragma" context="Prep1" char="&lt;" char1="*"/>
0280         <Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*" beginRegion="Comment"/>
0281       </context>
0282       <context attribute="String" lineEndContext="#pop" name="String1">
0283         <DetectChar attribute="String" context="#pop" char="&quot;"/>
0284       </context>
0285       <context attribute="Comment" lineEndContext="#stay" name="Comment2">
0286         <Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*" beginRegion="Comment"/>
0287         <Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" endRegion="Comment"/>
0288         <DetectSpaces />
0289         <IncludeRules context="##Comments"/>
0290       </context>
0291       <context attribute="Pragma" lineEndContext="#stay" name="Prep1">
0292         <Detect2Chars attribute="Pragma" context="#pop" char="*" char1="&gt;"/>
0293       </context>
0294     </contexts>
0295     <itemDatas>
0296       <itemData name="Normal Text" defStyleNum="dsNormal"/>
0297       <itemData name="Keyword" defStyleNum="dsKeyword"/>
0298       <itemData name="Operator" defStyleNum="dsKeyword"/>
0299       <itemData name="Type" defStyleNum="dsDataType"/>
0300       <itemData name="Integer" defStyleNum="dsBaseN"/>
0301       <itemData name="Real" defStyleNum="dsFloat"/>
0302       <itemData name="Constant" defStyleNum="dsDecVal"/>
0303       <itemData name="String" defStyleNum="dsString"/>
0304       <itemData name="Char" defStyleNum="dsChar"/>
0305       <itemData name="Pervasive" defStyleNum="dsFunction"/>
0306       <itemData name="StdLib" defStyleNum="dsFunction"/>
0307       <itemData name="Comment" defStyleNum="dsComment" bold="0" italic="1"/>
0308       <itemData name="Pragma" defStyleNum="dsOthers" bold="0" italic="1"/>
0309     </itemDatas>
0310   </highlighting>
0311   <general>
0312     <keywords casesensitive="1" weakDeliminator="."/>
0313     <comments>
0314       <comment name="multiLine" start="(*" end="*)" region="Comment"/>
0315     </comments>
0316   </general>
0317 </language>
0318 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->