コード例 #1
0
ファイル: parser.py プロジェクト: W-M-T/gsc
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)
コード例 #2
0
ファイル: AST_prettyprinter.py プロジェクト: W-M-T/gsc
                 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))
     ]),