{
    "maiascript": {
        "expression": [
            {
                "operation": {
                    "op": [
                        {
                            "primary": {
                                "member": {
                                    "identifier": "a"
                                }
                            }
                        },
                        {
                            "primary": {
                                "value": {
                                    "real": "4"
                                }
                            }
                        }
                    ],
                    "TOKEN": "="
                }
            },
            {
                "operation": {
                    "op": [
                        {
                            "primary": {
                                "member": {
                                    "identifier": "b"
                                }
                            }
                        },
                        {
                            "primary": {
                                "value": {
                                    "real": "100"
                                }
                            }
                        }
                    ],
                    "TOKEN": "="
                }
            },
            {
                "statement": {
                    "if": {
                        "TOKEN": [
                            "if",
                            "(",
                            ")",
                            "{",
                            "}"
                        ],
                        "expression": [
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "a"
                                                }
                                            }
                                        },
                                        {
                                            "primary": {
                                                "value": {
                                                    "real": "1"
                                                }
                                            }
                                        }
                                    ],
                                    "TOKEN": "=="
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": [
                                                "system",
                                                "println"
                                            ],
                                            "TOKEN": [
                                                ".",
                                                "(",
                                                ")"
                                            ],
                                            "arguments": {
                                                "expression": {
                                                    "operation": {
                                                        "primary": {
                                                            "value": {
                                                                "string": "\"a == 1\""
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": [
                                                "system",
                                                "println"
                                            ],
                                            "TOKEN": [
                                                ".",
                                                "(",
                                                ")"
                                            ],
                                            "arguments": {
                                                "expression": {
                                                    "operation": {
                                                        "op": [
                                                            {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\"b = \""
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "primary": {
                                                                    "member": {
                                                                        "identifier": "b"
                                                                    }
                                                                }
                                                            }
                                                        ],
                                                        "TOKEN": "+"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        ],
                        "elseif": [
                            {
                                "TOKEN": [
                                    "elseif",
                                    "(",
                                    ")",
                                    "{",
                                    "}"
                                ],
                                "expression": [
                                    {
                                        "operation": {
                                            "op": [
                                                {
                                                    "primary": {
                                                        "member": {
                                                            "identifier": "a"
                                                        }
                                                    }
                                                },
                                                {
                                                    "primary": {
                                                        "value": {
                                                            "real": "2"
                                                        }
                                                    }
                                                }
                                            ],
                                            "TOKEN": "=="
                                        }
                                    },
                                    {
                                        "operation": {
                                            "primary": {
                                                "member": {
                                                    "identifier": [
                                                        "system",
                                                        "println"
                                                    ],
                                                    "TOKEN": [
                                                        ".",
                                                        "(",
                                                        ")"
                                                    ],
                                                    "arguments": {
                                                        "expression": {
                                                            "operation": {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\"a == 2\""
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    {
                                        "operation": {
                                            "primary": {
                                                "member": {
                                                    "identifier": [
                                                        "system",
                                                        "println"
                                                    ],
                                                    "TOKEN": [
                                                        ".",
                                                        "(",
                                                        ")"
                                                    ],
                                                    "arguments": {
                                                        "expression": {
                                                            "operation": {
                                                                "op": [
                                                                    {
                                                                        "primary": {
                                                                            "value": {
                                                                                "string": "\"b = \""
                                                                            }
                                                                        }
                                                                    },
                                                                    {
                                                                        "primary": {
                                                                            "member": {
                                                                                "identifier": "b"
                                                                            }
                                                                        }
                                                                    }
                                                                ],
                                                                "TOKEN": "+"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                ]
                            },
                            {
                                "TOKEN": [
                                    "elseif",
                                    "(",
                                    ")",
                                    "{",
                                    "}"
                                ],
                                "expression": [
                                    {
                                        "operation": {
                                            "op": [
                                                {
                                                    "primary": {
                                                        "member": {
                                                            "identifier": "a"
                                                        }
                                                    }
                                                },
                                                {
                                                    "primary": {
                                                        "value": {
                                                            "real": "3"
                                                        }
                                                    }
                                                }
                                            ],
                                            "TOKEN": "=="
                                        }
                                    },
                                    {
                                        "operation": {
                                            "primary": {
                                                "member": {
                                                    "identifier": [
                                                        "system",
                                                        "println"
                                                    ],
                                                    "TOKEN": [
                                                        ".",
                                                        "(",
                                                        ")"
                                                    ],
                                                    "arguments": {
                                                        "expression": {
                                                            "operation": {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\"a == 3\""
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    {
                                        "operation": {
                                            "primary": {
                                                "member": {
                                                    "identifier": [
                                                        "system",
                                                        "println"
                                                    ],
                                                    "TOKEN": [
                                                        ".",
                                                        "(",
                                                        ")"
                                                    ],
                                                    "arguments": {
                                                        "expression": {
                                                            "operation": {
                                                                "op": [
                                                                    {
                                                                        "primary": {
                                                                            "value": {
                                                                                "string": "\"b = \""
                                                                            }
                                                                        }
                                                                    },
                                                                    {
                                                                        "primary": {
                                                                            "member": {
                                                                                "identifier": "b"
                                                                            }
                                                                        }
                                                                    }
                                                                ],
                                                                "TOKEN": "+"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                ]
                            }
                        ],
                        "else": {
                            "TOKEN": [
                                "else",
                                "{",
                                "}"
                            ],
                            "expression": [
                                {
                                    "operation": {
                                        "primary": {
                                            "member": {
                                                "identifier": [
                                                    "system",
                                                    "println"
                                                ],
                                                "TOKEN": [
                                                    ".",
                                                    "(",
                                                    ")"
                                                ],
                                                "arguments": {
                                                    "expression": {
                                                        "operation": {
                                                            "primary": {
                                                                "value": {
                                                                    "string": "\"a != 1 && a != 2 && a != 3\""
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                {
                                    "operation": {
                                        "primary": {
                                            "member": {
                                                "identifier": [
                                                    "system",
                                                    "println"
                                                ],
                                                "TOKEN": [
                                                    ".",
                                                    "(",
                                                    ")"
                                                ],
                                                "arguments": {
                                                    "expression": {
                                                        "operation": {
                                                            "op": [
                                                                {
                                                                    "primary": {
                                                                        "value": {
                                                                            "string": "\"b = \""
                                                                        }
                                                                    }
                                                                },
                                                                {
                                                                    "primary": {
                                                                        "member": {
                                                                            "identifier": "b"
                                                                        }
                                                                    }
                                                                }
                                                            ],
                                                            "TOKEN": "+"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            {
                "operation": {
                    "op": [
                        {
                            "primary": {
                                "member": {
                                    "identifier": "i"
                                }
                            }
                        },
                        {
                            "primary": {
                                "value": {
                                    "real": "0"
                                }
                            }
                        }
                    ],
                    "TOKEN": "="
                }
            },
            {
                "statement": {
                    "do": {
                        "TOKEN": [
                            "do",
                            "{",
                            "}",
                            "while",
                            "(",
                            ")"
                        ],
                        "expression": [
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": [
                                                "system",
                                                "println"
                                            ],
                                            "TOKEN": [
                                                ".",
                                                "(",
                                                ")"
                                            ],
                                            "arguments": {
                                                "expression": {
                                                    "operation": {
                                                        "op": [
                                                            {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\"i = \""
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "primary": {
                                                                    "member": {
                                                                        "identifier": "i"
                                                                    }
                                                                }
                                                            }
                                                        ],
                                                        "TOKEN": "+"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "i"
                                                }
                                            }
                                        },
                                        {
                                            "op": [
                                                {
                                                    "primary": {
                                                        "member": {
                                                            "identifier": "i"
                                                        }
                                                    }
                                                },
                                                {
                                                    "primary": {
                                                        "value": {
                                                            "real": "1"
                                                        }
                                                    }
                                                }
                                            ],
                                            "TOKEN": "+"
                                        }
                                    ],
                                    "TOKEN": "="
                                }
                            },
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "i"
                                                }
                                            }
                                        },
                                        {
                                            "primary": {
                                                "value": {
                                                    "real": "10"
                                                }
                                            }
                                        }
                                    ],
                                    "TOKEN": "<"
                                }
                            }
                        ]
                    }
                }
            },
            {
                "operation": {
                    "op": [
                        {
                            "primary": {
                                "member": {
                                    "identifier": "j"
                                }
                            }
                        },
                        {
                            "primary": {
                                "value": {
                                    "real": "0"
                                }
                            }
                        }
                    ],
                    "TOKEN": "="
                }
            },
            {
                "statement": {
                    "while": {
                        "TOKEN": [
                            "while",
                            "(",
                            ")",
                            "{",
                            "}"
                        ],
                        "expression": [
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "j"
                                                }
                                            }
                                        },
                                        {
                                            "primary": {
                                                "value": {
                                                    "real": "10"
                                                }
                                            }
                                        }
                                    ],
                                    "TOKEN": "<"
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": [
                                                "system",
                                                "println"
                                            ],
                                            "TOKEN": [
                                                ".",
                                                "(",
                                                ")"
                                            ],
                                            "arguments": {
                                                "expression": {
                                                    "operation": {
                                                        "op": [
                                                            {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\"j = \""
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "primary": {
                                                                    "member": {
                                                                        "identifier": "j"
                                                                    }
                                                                }
                                                            }
                                                        ],
                                                        "TOKEN": "+"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "j"
                                                }
                                            }
                                        },
                                        {
                                            "op": [
                                                {
                                                    "primary": {
                                                        "member": {
                                                            "identifier": "j"
                                                        }
                                                    }
                                                },
                                                {
                                                    "primary": {
                                                        "value": {
                                                            "real": "1"
                                                        }
                                                    }
                                                }
                                            ],
                                            "TOKEN": "+"
                                        }
                                    ],
                                    "TOKEN": "="
                                }
                            }
                        ]
                    }
                }
            },
            {
                "statement": {
                    "for": {
                        "TOKEN": [
                            "for",
                            "(",
                            ";",
                            ";",
                            ")",
                            "{",
                            "}"
                        ],
                        "expression": [
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "k"
                                                }
                                            }
                                        },
                                        {
                                            "primary": {
                                                "value": {
                                                    "real": "0"
                                                }
                                            }
                                        }
                                    ],
                                    "TOKEN": "="
                                }
                            },
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "k"
                                                }
                                            }
                                        },
                                        {
                                            "primary": {
                                                "value": {
                                                    "real": "10"
                                                }
                                            }
                                        }
                                    ],
                                    "TOKEN": "<"
                                }
                            },
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "k"
                                                }
                                            }
                                        },
                                        {
                                            "op": [
                                                {
                                                    "primary": {
                                                        "member": {
                                                            "identifier": "k"
                                                        }
                                                    }
                                                },
                                                {
                                                    "primary": {
                                                        "value": {
                                                            "real": "1"
                                                        }
                                                    }
                                                }
                                            ],
                                            "TOKEN": "+"
                                        }
                                    ],
                                    "TOKEN": "="
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": [
                                                "system",
                                                "println"
                                            ],
                                            "TOKEN": [
                                                ".",
                                                "(",
                                                ")"
                                            ],
                                            "arguments": {
                                                "expression": {
                                                    "operation": {
                                                        "op": [
                                                            {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\"k = \""
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "primary": {
                                                                    "member": {
                                                                        "identifier": "k"
                                                                    }
                                                                }
                                                            }
                                                        ],
                                                        "TOKEN": "+"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": [
                                                "system",
                                                "println"
                                            ],
                                            "TOKEN": [
                                                ".",
                                                "(",
                                                ")"
                                            ],
                                            "arguments": {
                                                "expression": {
                                                    "operation": {
                                                        "op": [
                                                            {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\"k^2 = \""
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "op": [
                                                                    {
                                                                        "primary": {
                                                                            "member": {
                                                                                "identifier": "k"
                                                                            }
                                                                        }
                                                                    },
                                                                    {
                                                                        "primary": {
                                                                            "value": {
                                                                                "real": "2"
                                                                            }
                                                                        }
                                                                    }
                                                                ],
                                                                "TOKEN": "^"
                                                            }
                                                        ],
                                                        "TOKEN": "+"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            {
                "operation": {
                    "op": [
                        {
                            "primary": {
                                "member": {
                                    "identifier": "a"
                                }
                            }
                        },
                        {
                            "primary": {
                                "value": {
                                    "array": {
                                        "TOKEN": [
                                            "{",
                                            ",",
                                            ",",
                                            ",",
                                            "}"
                                        ],
                                        "element": [
                                            {
                                                "key": {
                                                    "string": "\"v1\""
                                                },
                                                "TOKEN": ":",
                                                "expression": {
                                                    "operation": {
                                                        "primary": {
                                                            "value": {
                                                                "real": "1"
                                                            }
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "key": {
                                                    "string": "\"v2\""
                                                },
                                                "TOKEN": ":",
                                                "expression": {
                                                    "operation": {
                                                        "primary": {
                                                            "value": {
                                                                "real": "2"
                                                            }
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "key": {
                                                    "string": "\"v3\""
                                                },
                                                "TOKEN": ":",
                                                "expression": {
                                                    "operation": {
                                                        "primary": {
                                                            "value": {
                                                                "real": "3"
                                                            }
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "key": {
                                                    "string": "\"v4\""
                                                },
                                                "TOKEN": ":",
                                                "expression": {
                                                    "operation": {
                                                        "primary": {
                                                            "value": {
                                                                "real": "4"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    ],
                    "TOKEN": "="
                }
            },
            {
                "statement": {
                    "foreach": {
                        "TOKEN": [
                            "foreach",
                            "(",
                            ";",
                            ";",
                            ")",
                            "{",
                            "}"
                        ],
                        "expression": [
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": "a"
                                        }
                                    }
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": "k"
                                        }
                                    }
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": "v"
                                        }
                                    }
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": [
                                                "system",
                                                "println"
                                            ],
                                            "TOKEN": [
                                                ".",
                                                "(",
                                                ")"
                                            ],
                                            "arguments": {
                                                "expression": {
                                                    "operation": {
                                                        "op": [
                                                            {
                                                                "primary": {
                                                                    "member": {
                                                                        "identifier": "k"
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\" = \""
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "primary": {
                                                                    "member": {
                                                                        "identifier": "v"
                                                                    }
                                                                }
                                                            }
                                                        ],
                                                        "TOKEN": [
                                                            "+",
                                                            "+"
                                                        ]
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": [
                                                "system",
                                                "println"
                                            ],
                                            "TOKEN": [
                                                ".",
                                                "(",
                                                ")"
                                            ],
                                            "arguments": {
                                                "expression": {
                                                    "operation": {
                                                        "op": [
                                                            {
                                                                "primary": {
                                                                    "member": {
                                                                        "identifier": "k"
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\"^2 = \""
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "op": [
                                                                    {
                                                                        "primary": {
                                                                            "member": {
                                                                                "identifier": "v"
                                                                            }
                                                                        }
                                                                    },
                                                                    {
                                                                        "primary": {
                                                                            "value": {
                                                                                "real": "2"
                                                                            }
                                                                        }
                                                                    }
                                                                ],
                                                                "TOKEN": "^"
                                                            }
                                                        ],
                                                        "TOKEN": [
                                                            "+",
                                                            "+"
                                                        ]
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            {
                "statement": {
                    "try": {
                        "TOKEN": [
                            "try",
                            "{",
                            "}"
                        ],
                        "expression": [
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "a"
                                                }
                                            }
                                        },
                                        {
                                            "primary": {
                                                "value": {
                                                    "real": "1"
                                                }
                                            }
                                        }
                                    ],
                                    "TOKEN": "="
                                }
                            },
                            {
                                "operation": {
                                    "primary": {
                                        "member": {
                                            "identifier": [
                                                "system",
                                                "println"
                                            ],
                                            "TOKEN": [
                                                ".",
                                                "(",
                                                ")"
                                            ],
                                            "arguments": {
                                                "expression": {
                                                    "operation": {
                                                        "primary": {
                                                            "member": {
                                                                "identifier": "a"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            {
                                "operation": {
                                    "op": [
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "err"
                                                }
                                            }
                                        },
                                        {
                                            "primary": {
                                                "member": {
                                                    "identifier": "Error",
                                                    "TOKEN": [
                                                        "(",
                                                        ")"
                                                    ],
                                                    "arguments": {
                                                        "expression": {
                                                            "operation": {
                                                                "primary": {
                                                                    "value": {
                                                                        "string": "\"oops\""
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    ],
                                    "TOKEN": "="
                                }
                            },
                            {
                                "statement": {
                                    "throw": {
                                        "TOKEN": [
                                            "throw",
                                            "(",
                                            ")"
                                        ],
                                        "expression": {
                                            "operation": {
                                                "primary": {
                                                    "member": {
                                                        "identifier": "err"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        ],
                        "catch": {
                            "TOKEN": [
                                "catch",
                                "(",
                                ")",
                                "{",
                                "}"
                            ],
                            "expression": [
                                {
                                    "operation": {
                                        "primary": {
                                            "member": {
                                                "identifier": "e"
                                            }
                                        }
                                    }
                                },
                                {
                                    "operation": {
                                        "op": [
                                            {
                                                "primary": {
                                                    "member": {
                                                        "identifier": "evalError"
                                                    }
                                                }
                                            },
                                            {
                                                "primary": {
                                                    "member": {
                                                        "identifier": [
                                                            "e",
                                                            "message"
                                                        ],
                                                        "TOKEN": "."
                                                    }
                                                }
                                            }
                                        ],
                                        "TOKEN": "="
                                    }
                                },
                                {
                                    "operation": {
                                        "primary": {
                                            "member": {
                                                "identifier": [
                                                    "system",
                                                    "println"
                                                ],
                                                "TOKEN": [
                                                    ".",
                                                    "(",
                                                    ")"
                                                ],
                                                "arguments": {
                                                    "expression": {
                                                        "operation": {
                                                            "primary": {
                                                                "member": {
                                                                    "identifier": "evalError"
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                {
                                    "operation": {
                                        "primary": {
                                            "member": {
                                                "identifier": "alert",
                                                "TOKEN": [
                                                    "(",
                                                    ")"
                                                ],
                                                "arguments": {
                                                    "expression": {
                                                        "operation": {
                                                            "primary": {
                                                                "member": {
                                                                    "identifier": "evalError"
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        ]
    }
}