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

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <!--
0004         ====================================================================
0005         Modelica syntax highlighting file for the KDE editors Kate and Kwrite
0006         ====================================================================
0007         Based on Modelica 3.0, available at the following link:
0008         http://www.modelica.org/documents/ModelicaSpec30.pdf
0009 
0010         License: LGPL v2 or later
0011 
0012         ChangeLog: Aug 21, 2008: first version committed.
0013 
0014         Author: Federico Zenith, Max Planck Institute for Complex Technical
0015         Systems, Magdeburg (Germany).
0016 -->
0017 
0018 
0019 <language name="Modelica" version="9" kateversion="5.0" casesensitive="1" section="Sources" extensions="*.mo" author="Federico Zenith" license="LGPLv2+">
0020 
0021         <highlighting>
0022                 <!-- Classes in Modelica can be called different names; "class" is the
0023                      most general one, others will limit its capabilities in some ways;
0024                      for instance, "record" can only contain data members, "connector"
0025                      does not allow equations, and so on. -->
0026                 <list name="classTypes">
0027                         <item>block</item>
0028                         <item>class</item>
0029                         <item>connector</item>
0030                         <item>function</item>
0031                         <item>model</item>
0032                         <item>package</item>
0033                         <item>record</item>
0034                 </list>
0035 
0036                 <list name="classType_type">
0037                         <!-- NOTE this should actually be with the rest in classTypes, but
0038                              "type" shall not start an environment. -->
0039                         <item>type</item>
0040                 </list>
0041 
0042                 <!-- The primitive data types already defined in Modelica. -->
0043                 <list name="primitiveTypes">
0044                         <item>Boolean</item>
0045                         <item>enumeration</item>
0046                         <item>ExternalObject</item>
0047                         <item>Integer</item>
0048                         <item>Real</item>
0049                         <item>StateSelect</item>
0050                         <item>String</item>
0051                 </list>
0052                 
0053                 <!-- The attributes of data types defined in Modelica and those derived
0054                      from them. Not all primitive data types have all attributes. -->
0055                 <list name="defaultAttributes">
0056                         <item>display</item>
0057                         <item>fixed</item>
0058                         <item>max</item>
0059                         <item>min</item>
0060                         <item>nominal</item>
0061                         <item>quantity</item>
0062                         <item>start</item>
0063                         <item>stateSelect</item>
0064                         <item>unit</item>
0065                         <item>value</item>
0066                 </list>
0067 
0068                 <!-- The keywords defined in the Modelica specification (for the 3.0
0069                      specification it is in section 2.3.3), minus the class types. -->
0070                 <list name="keywords">
0071                         <item>algorithm</item>
0072                         <item>and</item>
0073                         <item>annotation</item>
0074                         <item>assert</item>
0075                         <item>break</item>
0076                         <item>connect</item>
0077                         <item>constant</item>
0078                         <item>constrainedby</item>
0079                         <item>discrete</item>
0080                         <item>else</item>
0081                         <item>elseif</item>
0082                         <item>elsewhen</item>
0083                         <item>encapsulated</item>
0084                         <item>end</item>
0085                         <item>equation</item>
0086                         <item>expandable</item>
0087                         <item>extends</item>
0088                         <item>external</item>
0089                         <item>false</item>
0090                         <item>final</item>
0091                         <item>flow</item>
0092                         <item>for</item>
0093                         <item>if</item>
0094                         <item>import</item>
0095                         <item>in</item>
0096                         <item>inner</item>
0097                         <item>input</item>
0098                         <item>loop</item>
0099                         <item>not</item>
0100                         <item>or</item>
0101                         <item>outer</item>
0102                         <item>output</item>
0103                         <item>parameter</item>
0104                         <item>partial</item>
0105                         <item>protected</item>
0106                         <item>public</item>
0107                         <item>redeclare</item>
0108                         <item>replaceable</item>
0109                         <item>return</item>
0110                         <item>then</item>
0111                         <item>true</item>
0112                         <item>when</item>
0113                         <item>while</item>
0114                         <item>within</item>
0115                 </list>
0116                 
0117                 <!-- The functions that are by default available in Modelica 3.0. -->
0118                 <list name="functions">
0119                         <!-- NOTE this is more like a built-in variable, but as it changes
0120                              its value during the simulation it is more like a function
0121                              without the (), and has therefore been placed here.-->
0122                         <item>time</item>
0123 
0124                         <item>abs</item>
0125                         <item>ceil</item>
0126                         <item>div</item>
0127                         <item>floor</item>
0128                         <item>integer</item>
0129                         <item>mod</item>
0130                         <item>rem</item>
0131                         <item>sign</item>
0132                         <item>sqrt</item>
0133 
0134                         <item>sin</item>
0135                         <item>cos</item>
0136                         <item>tan</item>
0137                         <item>asin</item>
0138                         <item>acos</item>
0139                         <item>atan</item>
0140                         <item>atan2</item>
0141                         <item>sinh</item>
0142                         <item>cosh</item>
0143                         <item>tanh</item>
0144                         <item>exp</item>
0145                         <item>log</item>
0146                         <item>log10</item>
0147 
0148                         <item>analysisType</item>
0149                         <item>cardinality</item> <!-- NOTE deprecated in 3.0. -->
0150                         <item>change</item>
0151                         <item>delay</item>
0152                         <item>der</item>
0153                         <item>direction</item>
0154                         <item>edge</item>
0155                         <item>initial</item>
0156                         <item>isPresent</item>
0157                         <item>noEvent</item>
0158                         <item>pre</item>
0159                         <item>reinit</item>
0160                         <item>sample</item>
0161                         <item>semiLinear</item>
0162                         <item>smooth</item>
0163                         <item>terminal</item>
0164                         <item>terminate</item>
0165 
0166                         <item>ndims</item>
0167                         <item>size</item>
0168                         <item>scalar</item>
0169                         <item>vector</item>
0170                         <item>matrix</item>
0171                         <item>array</item>
0172                         <item>zeros</item>
0173                         <item>ones</item>
0174                         <item>fill</item>
0175                         <item>identity</item>
0176                         <item>diagonal</item>
0177                         <item>linspace</item>
0178                         <item>min</item>
0179                         <item>max</item>
0180                         <item>sum</item>
0181                         <item>product</item>
0182                         <item>transpose</item>
0183                         <item>outerProduct</item>
0184                         <item>symmetric</item>
0185                         <item>cross</item>
0186                         <item>skew</item>
0187                         <item>cat</item>
0188                 </list>
0189 
0190                 <contexts>
0191                         <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text" >
0192                                 <RegExpr attribute="Keyword" String="\bend\s+(for|while|loop)\b" endRegion="loopBlock"/>
0193                                 <RegExpr attribute="Keyword" String="\bloop\b" beginRegion="loopBlock"/>
0194                                 <RegExpr attribute="Keyword" String="\bend\s+(if|when)\b" endRegion="thenBlock"/>
0195                                 <RegExpr attribute="Keyword" String="\b(if|when)\b" beginRegion="thenBlock"/>
0196 
0197                                 <keyword attribute="Class Type" String="classType_type"/>
0198                                 <keyword attribute="Class Type" String="classTypes" beginRegion="class"/>
0199                                 <RegExpr attribute="Keyword" String="\bend " endRegion="class"/>
0200 
0201                                 <keyword attribute="Data Type" String="primitiveTypes"/>
0202                                 <keyword attribute="Default Attribute" String="defaultAttributes"/>
0203                                 <keyword attribute="Keyword" String="keywords"/>
0204                                 <keyword attribute="Function" String="functions"/>
0205                                 <Float attribute="Floating-Point Number"/>
0206                                 <Int attribute="Integer Number"/>
0207                                 <AnyChar attribute="Delimiter" String="()[]{}"/>
0208                                 <RegExpr attribute="Variable" String="[_a-zA-Z]\w*"/>
0209                                 <DetectChar attribute="String" context="String" char="&quot;"/>
0210                                 <Detect2Chars attribute="Comment" context="Single-line comment" char="/" char1="/"/>
0211                                 <Detect2Chars attribute="Comment" context="Multi-line comment" char="/" char1="*" beginRegion="Comment"/>
0212                         </context>
0213 
0214                         <context attribute="String" lineEndContext="#stay" name="String">
0215                                 <LineContinue attribute="String" context="#stay"/>
0216                                 <HlCStringChar attribute="String Char" context="#stay"/>
0217                                 <DetectChar attribute="String" context="#pop" char="&quot;"/>
0218                         </context>
0219 
0220                         <context attribute="Comment" lineEndContext="#pop" name="Single-line comment">
0221                                 <DetectSpaces/>
0222                                 <IncludeRules context="##Comments"/>
0223                                 <DetectIdentifier/>
0224                         </context>
0225 
0226                         <context attribute="Comment" lineEndContext="#stay" name="Multi-line comment">
0227                                 <DetectSpaces/>
0228                                 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
0229                                 <IncludeRules context="##Comments"/>
0230                                 <DetectIdentifier/>
0231                         </context>
0232                 </contexts>
0233 
0234                 <itemDatas>
0235                         <itemData name="Normal Text" defStyleNum="dsNormal"/>
0236                         <itemData name="Variable" defStyleNum="dsVariable"/>
0237                         <itemData name="Class Type" defStyleNum="dsKeyword"/>
0238                         <itemData name="Delimiter" defStyleNum="dsOperator"/>
0239                         <itemData name="String" defStyleNum="dsString"/>
0240                         <itemData name="String Char"  defStyleNum="dsSpecialChar"/>
0241                         <itemData name="Default Attribute" defStyleNum="dsOthers"/>
0242                         <itemData name="Keyword" defStyleNum="dsKeyword"/>
0243                         <itemData name="Data Type" defStyleNum="dsDataType"/>
0244                         <itemData name="Function" defStyleNum="dsFunction"/>
0245                         <itemData name="Floating-Point Number" defStyleNum="dsFloat"/>
0246                         <itemData name="Integer Number" defStyleNum="dsDecVal"/>
0247                         <itemData name="Comment" defStyleNum="dsComment"/>
0248                 </itemDatas>
0249         </highlighting>
0250 
0251         <general>
0252                 <comments>
0253                         <comment name="singleLine" start="//"/>
0254                         <comment name="multiLine" start="/*" end="*/" region="Comment"/>
0255                 </comments>
0256                 <keywords casesensitive="1"/>
0257         </general>
0258 </language>
0259 <!-- kate: replace-tabs off; -->