<commit_before>#define Abiversion 13

typedef struct Srcloc Srcloc;
typedef struct Tysubst Tysubst;

typedef struct Tok Tok;
typedef struct Node Node;
typedef struct Ucon Ucon;
typedef struct Stab Stab;
typedef struct Tyenv Tyenv;

typedef struct Type Type;
typedef struct Trait Trait;

typedef enum {
	OTmisc,
	OTpre,
	OTpost,
	OTbin,
	OTzarg,
} Optype;

typedef enum {
#define O(op, pure, type, pretty) op,
#include "ops.def"
	Numops,
#undef O
} Op;

typedef enum {
#define N(nt) nt,
#include "nodes.def"
#undef N
} Ntype;

typedef enum {
#define L(lt) lt,
#include "lits.def"
#undef L
} Littype;

typedef enum {
#define Ty(t, n, stk) t,
#include "types.def"
#undef Ty
	Ntypes
} Ty;

typedef enum {
#define Tc(c, n) c,
#include "trait.def"
#undef Tc
	Ntraits
} Tc;

#define Zloc ((Srcloc){-1, 0})

struct Srcloc {
	int line;
	int file;
};

typedef enum {
	Visintern,
	Visexport,
	Vishidden,
	Visbuiltin,
} Vis;

typedef enum {
	Dclconst = 1 << 0,
	Dclextern = 1 << 1,
} Dclflags;


struct Tok {
	int type;
	Srcloc loc;
	char *id;

	/* values parsed out */
	vlong intval;
	Ty inttype; /* for explicitly specified suffixes */
	double fltval;
	uint32_t chrval;
	Str strval;
};

struct Tysubst {
	Htab **subst;
	size_t nsubst;
};

struct Stab {
	Stab *super;
	char *name;
	char isfunc;

	/* Contents of stab.
	 * types and values are in separate namespaces. */
	Htab *dcl;<commit_msg>Remove unused enum.<commit_after>#define Abiversion 13

typedef struct Srcloc Srcloc;
typedef struct Tysubst Tysubst;

typedef struct Tok Tok;
typedef struct Node Node;
typedef struct Ucon Ucon;
typedef struct Stab Stab;
typedef struct Tyenv Tyenv;

typedef struct Type Type;
typedef struct Trait Trait;

typedef enum {
	OTmisc,
	OTpre,
	OTpost,
	OTbin,
	OTzarg,
} Optype;

typedef enum {
#define O(op, pure, type, pretty) op,
#include "ops.def"
	Numops,
#undef O
} Op;

typedef enum {
#define N(nt) nt,
#include "nodes.def"
#undef N
} Ntype;

typedef enum {
#define L(lt) lt,
#include "lits.def"
#undef L
} Littype;

typedef enum {
#define Ty(t, n, stk) t,
#include "types.def"
#undef Ty
	Ntypes
} Ty;

typedef enum {
#define Tc(c, n) c,
#include "trait.def"
#undef Tc
	Ntraits
} Tc;

#define Zloc ((Srcloc){-1, 0})

struct Srcloc {
	int line;
	int file;
};

typedef enum {
	Visintern,
	Visexport,
	Vishidden,
	Visbuiltin,
} Vis;

struct Tok {
	int type;
	Srcloc loc;
	char *id;

	/* values parsed out */
	vlong intval;
	Ty inttype; /* for explicitly specified suffixes */
	double fltval;
	uint32_t chrval;
	Str strval;
};

struct Tysubst {
	Htab **subst;
	size_t nsubst;
};

struct Stab {
	Stab *super;
	char *name;
	char isfunc;

	/* Contents of stab.
	 * types and values are in separate namespaces. */
	Htab *dcl;
{'fraction_non_alphanumeric': 0.1162962962962963, 'fraction_numerical': 0.005925925925925926, 'mean_word_length': 3.901996370235935, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5724279', 'n_tokens_mistral': 1186, 'n_tokens_neox': 1089, 'n_words': 358}