#ifndef TOKENIZE_H
#define TOKENIZE_H

#include <context.h>

#define TOKENS_MAX 4096

enum token_type {
	UNKNOWN,

	TYPE,
	TYPEDELIM,
	PARAM,

	IDENT,
	OPERATOR,

	LPAREN,
	RPAREN,
	EQUAL,

	NEWLINE,
	EOL,
	END,
};

struct token {
	enum token_type type;
	size_t start, end;
};

void tokens_print(struct ctx *ctx);
void tokenize(struct ctx *ctx);

#endif