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><</item>
0083 <item>#</item>
0084 <item>=</item>
0085 <item>;</item>
0086 <item>..</item>
0087 <item>:</item>
0088 <item>-</item>
0089 <item>></item>
0090 <item>{</item>
0091 <item>}</item>
0092 <item>|</item>
0093 <item>:=</item>
0094 <item><:</item>
0095 <item>*</item>
0096 <item><=</item>
0097 <item>(</item>
0098 <item>)</item>
0099 <item>^</item>
0100 <item>,</item>
0101 <item>=></item>
0102 <item>/</item>
0103 <item>>=</item>
0104 <item>[</item>
0105 <item>]</item>
0106 <item>.</item>
0107 <item>&</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="""/>
0278 <RegExpr attribute="Char" context="#stay" String="\'(.|\\[ntrf\\'"]|\\[0-7]{3})\'"/>
0279 <Detect2Chars attribute="Pragma" context="Prep1" char="<" 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="""/>
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=">"/>
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; -->