gruggers 0.5.1

rust implementation of the grug language
[
    {
        "kind": "global_variable",
        "name": "foo",
        "type": "number",
        "assignment_expr": {
            "type": "number",
            "value": 42,
            "string": "42"
        }
    },
    {
        "kind": "global_variable",
        "name": "bar",
        "type": "number",
        "assignment_expr": {
            "type": "number",
            "value": 69,
            "string": "69"
        }
    },
    {
        "kind": "empty_line"
    },
    {
        "kind": "on_function",
        "name": "on_a",
        "arguments": [],
        "body_statements": [
            {
                "name": "foo",
                "kind": "variable",
                "assignment_expr": {
                    "type": "binary",
                    "operator": "+",
                    "left": {
                        "type": "identifier",
                        "value": "foo"
                    },
                    "right": {
                        "type": "number",
                        "value": 1,
                        "string": "1"
                    }
                }
            },
            {
                "kind": "empty_line"
            },
            {
                "kind": "call",
                "expr": {
                    "type": "call",
                    "function_name": "max",
                    "arguments": [
                        {
                            "type": "identifier",
                            "value": "foo"
                        },
                        {
                            "type": "identifier",
                            "value": "bar"
                        }
                    ]
                }
            }
        ]
    }
]