/* =====================================
 * Generated by Mod-c 0.26.5
 * HEADER symkind MODULE
 * ===================================== */

#ifndef MODC_MODULE_symkind_H
#define MODC_MODULE_symkind_H

#include <stdint.h>
#include <stdbool.h>
#include <assert.h>

#define nil ((void *)0)
#define NIL nil
typedef uint8_t byte;
typedef const char* string;
typedef int integer;
typedef unsigned int cardinal;
typedef float real;

/**
 * symkind.mc - Symbol classification for semantic analysis.
 * Hand-maintained until Mod-C ENUM syntax can own this definition.
 * Port target: export type SymbolKind = enum ... end in tsymbol.mc (or symkind.mc)
 */

/* === TYPE EXPORT === */
typedef enum {
    SYM_KIND_UNKNOWN = 0,
    SYM_KIND_TYPE = 1,
    SYM_KIND_CONST = 2,
    SYM_KIND_LET = 3,
    SYM_KIND_VAR = 4,
    SYM_KIND_PARAM = 5,
    SYM_KIND_RECEIVER = 6,
    SYM_KIND_PROC = 7,
    SYM_KIND_FUNC = 8,
    SYM_KIND_STRUCT = 9,
    SYM_KIND_FIELD = 10,
    SYM_KIND_IMPORT = 11
} SymbolKind;

void symkind(void);

#endif /* MODC_MODULE_symkind_H */
