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="""/> 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="""/> 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; -->