aboutsummaryrefslogtreecommitdiff
path: root/src/prc1/cgen/prv.h
blob: 32601f011671f5b341a0cefacd1118ec274b5a05 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef CGEN_PRV_H
#define CGEN_PRV_H

#include "cgen.h"
#include "call.h"
#include "from.h"
#include "print.h"
#include "set.h"
#include "storage.h"

struct cgen_drv
{
    int (*print)(const struct print *, struct cgen *, const char *);
    int (*gl)(const struct storage *, struct cgen *);
    int (*ws)(const struct storage *, struct cgen *);
    int (*call)(const struct call *, struct cgen *);
    int (*from)(const struct from *, struct cgen *);
    int (*set)(const struct set *, struct cgen *);
    int (*fn)(const struct fn *, struct cgen *);
    void (*free)(struct cgen_prv *);
};

int cgen_qbe(const struct ast *ast, struct cgen *c);

#endif