def TupType(): yield ps.token(TOKEN.PAR_OPEN) el1 = yield Type yield ps.token(TOKEN.COMMA) el2 = yield Type yield ps.token(TOKEN.PAR_CLOSE) return AST.TUPLETYPE(a=el1, b=el2)
AST.STMT(val=AST.RETURN(expr=None)), AST.STMT(val=AST.RETURN(expr=None)) ]), AST.FUNDECL( kind=FunKind.FUNC, fixity=None, id=Token(None, TOKEN.OP_IDENTIFIER, "fib2"), params=[ Token(None, TOKEN.IDENTIFIER, "xtup"), Token(None, TOKEN.IDENTIFIER, "y"), Token(None, TOKEN.IDENTIFIER, "z") ], type=AST.FUNTYPE(from_types=[ AST.TUPLETYPE( a=AST.TYPE(val=AST.BASICTYPE(type_id=Token( None, TOKEN.TYPE_IDENTIFIER, "Char"))), b=AST.TYPE(val=AST.BASICTYPE(type_id=Token( None, TOKEN.TYPE_IDENTIFIER, "Char"))), ), AST.TYPE(val=AST.BASICTYPE( type_id=Token(None, TOKEN.TYPE_IDENTIFIER, "Char"))), AST.TYPE(val=AST.BASICTYPE( type_id=Token(None, TOKEN.TYPE_IDENTIFIER, "Char"))) ], to_type=AST.TYPE(val=AST.BASICTYPE( type_id=Token(None, TOKEN.TYPE_IDENTIFIER, "Char")))), vardecls=[], stmts=[ AST.STMT(val=AST.RETURN(expr=None)), AST.STMT(val=AST.RETURN(expr=None)) ]),