#ifndef DSEG_H
#define DSEG_H

#include "ccc.h"
#include <stdio.h>

struct dseg_entry {
    enum {
        ENT_STRING,
    } type;
    union {
        const char* string;
    } key;
    char* symbol;
};

struct dseg {
    struct dseg_entry** entries;
    integral_t sz;
    integral_t cap;
};

void dseg_init(struct dseg* dseg);
void dseg_destroy(struct dseg* dseg);
const char* dseg_put(struct dseg* dseg, struct dseg_entry entry);
void emit_dseg(FILE* outfile, const struct dseg* dseg);

#endif
