mirror of
https://github.com/artegoser/ONLang
synced 2024-11-06 04:53:57 +03:00
61 lines
1.6 KiB
Text
61 lines
1.6 KiB
Text
|
[
|
||
|
{
|
||
|
fn: {
|
||
|
name: "myCalc",
|
||
|
args: ["a", "o", "b"],
|
||
|
body: [
|
||
|
{
|
||
|
fn: {
|
||
|
name: "sum",
|
||
|
args: ["a", "b"],
|
||
|
body: [{ return: { calc: [{ var: "a" }, "+", { var: "b" }] } }],
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
fn: {
|
||
|
name: "sub",
|
||
|
args: ["a", "b"],
|
||
|
body: [{ return: { calc: [{ var: "a" }, "-", { var: "b" }] } }],
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
fn: {
|
||
|
name: "mul",
|
||
|
args: ["a", "b"],
|
||
|
body: [{ return: { calc: [{ var: "a" }, "*", { var: "b" }] } }],
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
if: {
|
||
|
condition: { comp: [{ var: "o" }, "==", "*"] },
|
||
|
body: [{ return: { mul: [{ var: "a" }, { var: "b" }] } }],
|
||
|
else: [
|
||
|
{
|
||
|
if: {
|
||
|
condition: { comp: [{ var: "o" }, "==", "-"] },
|
||
|
body: [{ return: { sub: [{ var: "a" }, { var: "b" }] } }],
|
||
|
else: [
|
||
|
{
|
||
|
if: {
|
||
|
condition: { comp: [{ var: "o" }, "==", "+"] },
|
||
|
body: [
|
||
|
{ return: { sum: [{ var: "a" }, { var: "b" }] } },
|
||
|
],
|
||
|
else: [{ return: "Wrong operator!" }],
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
},
|
||
|
[{ myCalc: [3, "*", 2] }],
|
||
|
[{ myCalc: [3, "/", 2] }],
|
||
|
[{ myCalc: [3, "+", 2] }],
|
||
|
[{ myCalc: [3, "-", 2] }],
|
||
|
]
|