aboutsummaryrefslogtreecommitdiffstats
path: root/modelica-parser-lalrpop/examples
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2016-12-18 23:02:38 -0800
committerbnewbold <bnewbold@robocracy.org>2016-12-18 23:02:38 -0800
commit25ec87c63a5ba79846e147e3d153bf8d884a664e (patch)
tree84e5facf3113b92fb0fd822d6ea315615ce1a47c /modelica-parser-lalrpop/examples
parent24b2dc9c022cf1daa95418328019d12e5198b06b (diff)
downloadmodelthing-25ec87c63a5ba79846e147e3d153bf8d884a664e.tar.gz
modelthing-25ec87c63a5ba79846e147e3d153bf8d884a664e.zip
parser: more weird examples
Diffstat (limited to 'modelica-parser-lalrpop/examples')
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/multiple.mo17
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/package.mo15
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator.mo (renamed from modelica-parser-lalrpop/examples/modelica_models/polynomial_evaluator.mo)0
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator2.mo14
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/record.mo3
5 files changed, 49 insertions, 0 deletions
diff --git a/modelica-parser-lalrpop/examples/modelica_other/multiple.mo b/modelica-parser-lalrpop/examples/modelica_other/multiple.mo
new file mode 100644
index 0000000..45d5cb8
--- /dev/null
+++ b/modelica-parser-lalrpop/examples/modelica_other/multiple.mo
@@ -0,0 +1,17 @@
+type Voltage = Real(unit="V");
+type Current = Real(unit="A");
+
+connector Pin
+ Voltage v;
+ flow Current i;
+end Pin;
+
+model Resistor
+ Pin p, n;
+ // "Positive" and "negative" pins.
+ parameter Real R(unit="Ohm") "Resistance";
+equation
+ R*p.i = p.v - n.v;
+ p.i + n.i = 0;
+ // Positive currents into component.
+end Resistor;
diff --git a/modelica-parser-lalrpop/examples/modelica_other/package.mo b/modelica-parser-lalrpop/examples/modelica_other/package.mo
new file mode 100644
index 0000000..ef1eb82
--- /dev/null
+++ b/modelica-parser-lalrpop/examples/modelica_other/package.mo
@@ -0,0 +1,15 @@
+package Electric
+ // This package providestypes, connectors and partial models for the electric domain.
+ extends SIunit;
+ // Commonly used short names for electric types
+ type Current = ElectricCurrent;
+ type Charge = ElectricCharge;
+ type Voltage = ElectricPotential;
+
+ // Connector types for electric components
+ connector Pin "Pin of an electric component"
+ Voltage
+ v "Potential at the pin";
+ flow Current i "Current flowing into the pin";
+ end Pin;
+end Electric;
diff --git a/modelica-parser-lalrpop/examples/modelica_models/polynomial_evaluator.mo b/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator.mo
index f11d375..f11d375 100644
--- a/modelica-parser-lalrpop/examples/modelica_models/polynomial_evaluator.mo
+++ b/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator.mo
diff --git a/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator2.mo b/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator2.mo
new file mode 100644
index 0000000..cf86779
--- /dev/null
+++ b/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator2.mo
@@ -0,0 +1,14 @@
+function PolynomialEvaluator2
+ input Real a[:];
+ input Real x;
+ output Real y;
+protected
+ Real xpower;
+algorithm
+ y := 0;
+ xpower := 1;
+ for i in 1:size(a, 1) loop
+ y := y + a[i]*xpower;
+ xpower := xpower*x;
+ end for;
+end PolynomialEvaluator2;
diff --git a/modelica-parser-lalrpop/examples/modelica_other/record.mo b/modelica-parser-lalrpop/examples/modelica_other/record.mo
new file mode 100644
index 0000000..3d37b3d
--- /dev/null
+++ b/modelica-parser-lalrpop/examples/modelica_other/record.mo
@@ -0,0 +1,3 @@
+record FilterData
+ Real T;
+end FilterData;