DSL EXPRESSION:
func f(x, y) { z = 3}


AST:
"block" [tt:block] [nt:StatementBlock]
    "f" [tt:non_sigil_name] [nt:NamedFunctionDefinition]
        "params" [tt:params] [nt:ParameterList]
            "params" [tt:params] [nt:ParameterList]
                "x" [tt:non_sigil_name] [nt:Parameter]
                    "x" [tt:non_sigil_name] [nt:LocalVariable]
                "y" [tt:non_sigil_name] [nt:Parameter]
                    "y" [tt:non_sigil_name] [nt:LocalVariable]
        "block" [tt:block] [nt:StatementBlockInBraces]
            "block" [tt:block] [nt:StatementBlock]
                "=" [tt:equals] [nt:Assignment]
                    "z" [tt:non_sigil_name] [nt:LocalVariable]
                    "3" [tt:int_literal] [nt:int_literal]

