text/x-modelica
*.mo;*.mop
//
/*
*/
"
"
(\.)?\+{1,2}?(?!\+) | # arithmetic operators
(\.)?\-{1,2}?(?!\-) | # already counting
(\.)?\*{1,2}?(?!\*) | # with auto increment,
(\.)?\/(?!\^) | # element by element,
(\.)?\\(?!\^) | # left division
(\.)?\^(?!\^) | # and both exp
(?<=[0-9a-zA-Z_)\]}])(\.)?' | # transpose operator
<=? | >=? | != | ~= | == | <> | # comparison operators
&{1,2}?(?!&) | \|{1,2}?(?!\|) | ! | ~ | # boolean operators
= | # assignment operator
: | # range operator
class
block
connector
function
model
package
record
type
Boolean
enumeration
ExternalObject
Integer
Real
StateSelect
String
display
fixed
max
min
nominal
quantity
start
stateSelect
unit
value
\b(?!(\s)*\()
false
true
\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b
\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?
algorithm
and
annotation
assert
break
connect
constant
constrainedby
discrete
else
elseif
elsewhen
encapsulated
end
equation
expandable
extends
external
false
final
flow
for
if
import
in
inner
input
loop
not
or
outer
output
parameter
partial
protected
public
redeclare
replaceable
return
then
true
when
while
within
time
abs
ceil
div
floor
integer
mod
rem
sign
sqrt
sin
cos
tan
asin
acos
atan
atan2
sinh
cosh
tanh
exp
log
log10
analysisType
cardinality
change
delay
der
direction
edge
initial
isPresent
noEvent
pre
reinit
sample
semiLinear
smooth
terminal
terminate
ndims
size
scalar
vector
matrix
array
zeros
ones
fill
identity
diagonal
linspace
min
max
sum
product
transpose
outerProduct
symmetric
cross
skew
cat