Exemplo n.º 1
0
        Expr new_expr_alignof_expr(SrcPos pos, Expr expr)
        {
            Expr e = new_expr(EXPR_ALIGNOF_EXPR, pos);

            e.alignof_expr = expr;
            return(e);
        }
Exemplo n.º 2
0
        Expr new_expr_typeof_expr(SrcPos pos, Expr expr)
        {
            Expr e = new_expr(EXPR_TYPEOF_EXPR, pos);

            e.typeof_expr = expr;
            return(e);
        }
Exemplo n.º 3
0
        Expr new_expr_typeof_type(SrcPos pos, Typespec type)
        {
            Expr e = new_expr(EXPR_TYPEOF_TYPE, pos);

            e.typeof_type = type;
            return(e);
        }
Exemplo n.º 4
0
        Expr new_expr_sizeof_type(SrcPos pos, Typespec type)
        {
            var e = new_expr(EXPR_SIZEOF_TYPE, pos);

            e.sizeof_type = type;
            return(e);
        }
Exemplo n.º 5
0
        Expr new_expr_sizeof_expr(SrcPos pos, Expr expr)
        {
            var e = new_expr(EXPR_SIZEOF_EXPR, pos);

            e.sizeof_expr = expr;
            return(e);
        }
Exemplo n.º 6
0
        Expr new_expr_paren(SrcPos pos, Expr expr)
        {
            Expr e = new_expr(EXPR_PAREN, pos);

            e.paren.expr = expr;
            return(e);
        }
Exemplo n.º 7
0
        Expr new_expr_alignof_type(SrcPos pos, Typespec type)
        {
            Expr e = new_expr(EXPR_ALIGNOF_TYPE, pos);

            e.alignof_type = type;
            return(e);
        }
Exemplo n.º 8
0
        Stmt new_stmt_note(SrcPos pos, Note note)
        {
            Stmt s = new_stmt(STMT_NOTE, pos);

            s.note = note;
            return(s);
        }
Exemplo n.º 9
0
        Decl new_decl_typedef(SrcPos pos, string name, Typespec type)
        {
            var d = new_decl(DECL_TYPEDEF, pos, name);

            d.typedef_decl.type = type;
            return(d);
        }
Exemplo n.º 10
0
        Stmt new_stmt_goto(SrcPos pos, string label)
        {
            Stmt s = new_stmt(STMT_GOTO, pos);

            s.label = label;
            return(s);
        }
Exemplo n.º 11
0
        Stmt new_stmt_expr(SrcPos pos, Expr expr)
        {
            var s = new_stmt(STMT_EXPR, pos);

            s.expr = expr;
            return(s);
        }
Exemplo n.º 12
0
        Stmt new_stmt_block(SrcPos pos, StmtList block)
        {
            var s = new_stmt(STMT_BLOCK, pos);

            s.block = block;
            return(s);
        }
Exemplo n.º 13
0
        Stmt new_stmt_decl(SrcPos pos, Decl decl)
        {
            var s = new_stmt(STMT_DECL, pos);

            s.decl = decl;
            return(s);
        }
Exemplo n.º 14
0
 StmtList stmt_list(SrcPos pos, Stmt[] stmts, int num_stmts)
 {
     return(new StmtList
     {
         pos = pos, stmts = stmts, num_stmts = num_stmts
     });
 }
Exemplo n.º 15
0
        Stmt new_stmt_return(SrcPos pos, Expr expr)
        {
            var s = new_stmt(STMT_RETURN, pos);

            s.expr = expr;
            return(s);
        }
Exemplo n.º 16
0
        Typespec new_typespec_const(SrcPos pos, Typespec @base)
        {
            Typespec t = new_typespec(TYPESPEC_CONST, pos);

            t.@base = @base;
            return(t);
        }
Exemplo n.º 17
0
        Expr new_expr_name(SrcPos pos, string name)
        {
            var e = new_expr(EXPR_NAME, pos);

            e.name = name;
            return(e);
        }
Exemplo n.º 18
0
        Stmt new_stmt_label(SrcPos pos, string label)
        {
            Stmt s = new_stmt(STMT_LABEL, pos);

            s.label = label;
            return(s);
        }
Exemplo n.º 19
0
        Decl new_decl_note(SrcPos pos, Note note)
        {
            Decl d = new_decl(DECL_NOTE, pos, null);

            d.note = note;
            return(d);
        }
Exemplo n.º 20
0
        Typespec new_typespec(TypespecKind kind, SrcPos pos)
        {
            var t = new Typespec();

            t.pos  = pos;
            t.kind = kind;
            return(t);
        }
Exemplo n.º 21
0
        Stmt new_stmt_do_while(SrcPos pos, Expr cond, StmtList block)
        {
            var s = new_stmt(STMT_DO_WHILE, pos);

            s.while_stmt.cond  = cond;
            s.while_stmt.block = block;
            return(s);
        }
Exemplo n.º 22
0
        Typespec new_typespec_name(SrcPos pos, string[] names, int num_names)
        {
            var t = new_typespec(TYPESPEC_NAME, pos);

            t.names     = names;
            t.num_names = num_names;
            return(t);
        }
Exemplo n.º 23
0
        Expr new_expr_unary(SrcPos pos, TokenKind op, Expr expr)
        {
            var e = new_expr(EXPR_UNARY, pos);

            e.unary.op   = op;
            e.unary.expr = expr;
            return(e);
        }
Exemplo n.º 24
0
        Expr new_expr_field(SrcPos pos, Expr expr, string name)
        {
            var e = new_expr(EXPR_FIELD, pos);

            e.field.expr = expr;
            e.field.name = name;
            return(e);
        }
Exemplo n.º 25
0
        Expr new_expr_index(SrcPos pos, Expr expr, Expr index)
        {
            var e = new_expr(EXPR_INDEX, pos);

            e.index.expr  = expr;
            e.index.index = index;
            return(e);
        }
Exemplo n.º 26
0
        Expr new_expr_cast(SrcPos pos, Typespec type, Expr expr)
        {
            var e = new_expr(EXPR_CAST, pos);

            e.cast.type = type;
            e.cast.expr = expr;
            return(e);
        }
Exemplo n.º 27
0
        Typespec new_typespec_ptr(SrcPos pos, Typespec @base)
        {
            var t = new_typespec(TYPESPEC_PTR, pos);

            t.@base = @base;
            t.@base = @base;
            return(t);
        }
Exemplo n.º 28
0
        Stmt new_stmt(StmtKind kind, SrcPos pos)
        {
            var s = new Stmt();

            s.pos  = pos;
            s.kind = kind;
            return(s);
        }
Exemplo n.º 29
0
        Typespec new_typespec_array(SrcPos pos, Typespec @base, Expr num_elems)
        {
            var t = new_typespec(TYPESPEC_ARRAY, pos);

            t.@base     = @base;
            t.num_elems = num_elems;
            return(t);
        }
Exemplo n.º 30
0
        Expr new_expr_str(SrcPos pos, string val, TokenMod mod)
        {
            var e = new_expr(EXPR_STR, pos);

            e.str_lit.val = val;
            e.str_lit.mod = mod;
            return(e);
        }