#ifndef TOKEN_CC #define TOKEN_CC #include "common.cc" #define TOKEN_KINDS_NOLEX \ X(Eof) \ X(Invalid_Char) \ X(Invalid_Literal) enum Token_Kind { #define X(name) Token_Kind_##name, TOKEN_KINDS_NOLEX #undef X }; struct Token { Token_Kind kind; String text; }; #endif