2016-07-23 13:29:20 +08:00
|
|
|
<!doctype html>
|
|
|
|
|
|
|
|
<title>CodeMirror: Modelica mode</title>
|
|
|
|
<meta charset="utf-8"/>
|
|
|
|
<link rel=stylesheet href="../../doc/docs.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../lib/codemirror.css">
|
|
|
|
<script src="../../lib/codemirror.js"></script>
|
|
|
|
<script src="../../addon/edit/matchbrackets.js"></script>
|
|
|
|
<link rel="stylesheet" href="../../addon/hint/show-hint.css">
|
|
|
|
<script src="../../addon/hint/show-hint.js"></script>
|
|
|
|
<script src="modelica.js"></script>
|
|
|
|
<style>.CodeMirror {border: 2px inset #dee;}</style>
|
|
|
|
<div id=nav>
|
2019-10-15 16:40:42 +08:00
|
|
|
<a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
|
2016-07-23 13:29:20 +08:00
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li><a href="../../index.html">Home</a>
|
|
|
|
<li><a href="../../doc/manual.html">Manual</a>
|
|
|
|
<li><a href="https://github.com/codemirror/codemirror">Code</a>
|
|
|
|
</ul>
|
|
|
|
<ul>
|
|
|
|
<li><a href="../index.html">Language modes</a>
|
|
|
|
<li><a class=active href="#">Modelica</a>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<article>
|
|
|
|
<h2>Modelica mode</h2>
|
|
|
|
|
|
|
|
<div><textarea id="modelica">
|
|
|
|
model BouncingBall
|
|
|
|
parameter Real e = 0.7;
|
|
|
|
parameter Real g = 9.81;
|
|
|
|
Real h(start=1);
|
|
|
|
Real v;
|
|
|
|
Boolean flying(start=true);
|
|
|
|
Boolean impact;
|
|
|
|
Real v_new;
|
|
|
|
equation
|
|
|
|
impact = h <= 0.0;
|
|
|
|
der(v) = if flying then -g else 0;
|
|
|
|
der(h) = v;
|
|
|
|
when {h <= 0.0 and v <= 0.0, impact} then
|
|
|
|
v_new = if edge(impact) then -e*pre(v) else 0;
|
|
|
|
flying = v_new > 0;
|
|
|
|
reinit(v, v_new);
|
|
|
|
end when;
|
|
|
|
annotation (uses(Modelica(version="3.2")));
|
|
|
|
end BouncingBall;
|
|
|
|
</textarea></div>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
var modelicaEditor = CodeMirror.fromTextArea(document.getElementById("modelica"), {
|
|
|
|
lineNumbers: true,
|
|
|
|
matchBrackets: true,
|
|
|
|
mode: "text/x-modelica"
|
|
|
|
});
|
|
|
|
var mac = CodeMirror.keyMap.default == CodeMirror.keyMap.macDefault;
|
|
|
|
CodeMirror.keyMap.default[(mac ? "Cmd" : "Ctrl") + "-Space"] = "autocomplete";
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<p>Simple mode that tries to handle Modelica as well as it can.</p>
|
|
|
|
|
|
|
|
<p><strong>MIME types defined:</strong> <code>text/x-modelica</code>
|
|
|
|
(Modlica code).</p>
|
|
|
|
</article>
|