+ static constexpr auto Void = lit<Token::TYPENAME, 'v', 'o', 'i', 'd'>;
+ static constexpr auto Char = lit<Token::TYPENAME, 'c', 'h', 'a', 'r'>;
+ static constexpr auto Int = lit<Token::TYPENAME, 'i', 'n', 't'>;
+ static constexpr auto Float = lit<Token::TYPENAME, 'f', 'l', 'o', 'a', 't'>;
+ static constexpr auto Vector = lit<Token::TYPENAME, 'v', 'e', 'c', 't', 'o', 'r'>;
+ static constexpr auto String = lit<Token::TYPENAME, 's', 't', 'r', 'i', 'n', 'g'>;
+ static constexpr auto Entity = lit<Token::TYPENAME, 'e', 'n', 't', 'i', 't', 'y'>;
+
+ static constexpr auto Enum = lit<Token::IDENT, 'e', 'n', 'u', 'm'>;
+ static constexpr auto Typedef = lit<Token::IDENT, 't', 'y', 'p', 'e', 'd', 'e', 'f'>;
+
+ static constexpr auto Const = lit<Token::KEYWORD, 'c', 'o', 'n', 's', 't'>;
+ static constexpr auto Extern = lit<Token::KEYWORD, 'e', 'x', 't', 'e', 'r', 'n'>;
+ static constexpr auto Static = lit<Token::IDENT, 's', 't', 'a', 't', 'i', 'c'>;
+ static constexpr auto Noref = lit<Token::IDENT, 'n', 'o', 'r', 'e', 'f'>;
+ static constexpr auto Local = lit<Token::KEYWORD, 'l', 'o', 'c', 'a', 'l'>;
+ static constexpr auto Var = lit<Token::IDENT, 'v', 'a', 'r'>;
+
+ static constexpr auto If = lit<Token::KEYWORD, 'i', 'f'>;
+ static constexpr auto Else = lit<Token::KEYWORD, 'e', 'l', 's', 'e'>;
+ static constexpr auto Switch = lit<Token::IDENT, 's', 'w', 'i', 't', 'c', 'h'>;
+ static constexpr auto Case = lit<Token::IDENT, 'c', 'a', 's', 'e'>;
+ static constexpr auto Default = lit<Token::KEYWORD, 'd', 'e', 'f', 'a', 'u', 'l', 't'>;
+
+ static constexpr auto While = lit<Token::KEYWORD, 'w', 'h', 'i', 'l', 'e'>;
+ static constexpr auto Do = lit<Token::KEYWORD, 'd', 'o'>;
+ static constexpr auto For = lit<Token::KEYWORD, 'f', 'o', 'r'>;
+
+ static constexpr auto Goto = lit<Token::IDENT, 'g', 'o', 't', 'o'>;
+ static constexpr auto Continue = lit<Token::KEYWORD, 'c', 'o', 'n', 't', 'i', 'n', 'u', 'e'>;
+ static constexpr auto Break = lit<Token::KEYWORD, 'b', 'r', 'e', 'a', 'k'>;
+ static constexpr auto Return = lit<Token::KEYWORD, 'r', 'e', 't', 'u', 'r', 'n'>;
+