/* Generated by custom/languages/4coder_cpp_lexer_gen.cpp. */ #if !defined(FCODER_LEX_GEN_HAND_WRITTEN_TYPES) #define FCODER_LEX_GEN_HAND_WRITTEN_TYPES struct Lexeme_Table_Value{ Token_Base_Kind base_kind; u16 sub_kind; }; struct Lexeme_Table_Lookup{ b32 found_match; Token_Base_Kind base_kind; u16 sub_kind; }; #endif typedef u16 Token_Cpp_Kind; enum{ TokenCppKind_EOF = 0, TokenCppKind_Whitespace = 1, TokenCppKind_LexError = 2, TokenCppKind_BlockComment = 3, TokenCppKind_LineComment = 4, TokenCppKind_Backslash = 5, TokenCppKind_LiteralInteger = 6, TokenCppKind_LiteralIntegerU = 7, TokenCppKind_LiteralIntegerL = 8, TokenCppKind_LiteralIntegerUL = 9, TokenCppKind_LiteralIntegerLL = 10, TokenCppKind_LiteralIntegerULL = 11, TokenCppKind_LiteralIntegerHex = 12, TokenCppKind_LiteralIntegerHexU = 13, TokenCppKind_LiteralIntegerHexL = 14, TokenCppKind_LiteralIntegerHexUL = 15, TokenCppKind_LiteralIntegerHexLL = 16, TokenCppKind_LiteralIntegerHexULL = 17, TokenCppKind_LiteralIntegerOct = 18, TokenCppKind_LiteralIntegerOctU = 19, TokenCppKind_LiteralIntegerOctL = 20, TokenCppKind_LiteralIntegerOctUL = 21, TokenCppKind_LiteralIntegerOctLL = 22, TokenCppKind_LiteralIntegerOctULL = 23, TokenCppKind_LiteralIntegerBin = 24, TokenCppKind_LiteralIntegerBinU = 25, TokenCppKind_LiteralIntegerBinL = 26, TokenCppKind_LiteralIntegerBinUL = 27, TokenCppKind_LiteralIntegerBinLL = 28, TokenCppKind_LiteralIntegerBinULL = 29, TokenCppKind_LiteralFloat32 = 30, TokenCppKind_LiteralFloat64 = 31, TokenCppKind_LiteralString = 32, TokenCppKind_LiteralStringWide = 33, TokenCppKind_LiteralStringUTF8 = 34, TokenCppKind_LiteralStringUTF16 = 35, TokenCppKind_LiteralStringUTF32 = 36, TokenCppKind_LiteralStringRaw = 37, TokenCppKind_LiteralStringWideRaw = 38, TokenCppKind_LiteralStringUTF8Raw = 39, TokenCppKind_LiteralStringUTF16Raw = 40, TokenCppKind_LiteralStringUTF32Raw = 41, TokenCppKind_LiteralCharacter = 42, TokenCppKind_LiteralCharacterWide = 43, TokenCppKind_LiteralCharacterUTF8 = 44, TokenCppKind_LiteralCharacterUTF16 = 45, TokenCppKind_LiteralCharacterUTF32 = 46, TokenCppKind_PPIncludeFile = 47, TokenCppKind_PPErrorMessage = 48, TokenCppKind_KeywordGeneric = 49, TokenCppKind_BraceOp = 50, TokenCppKind_BraceCl = 51, TokenCppKind_ParenOp = 52, TokenCppKind_BrackOp = 53, TokenCppKind_ParenCl = 54, TokenCppKind_BrackCl = 55, TokenCppKind_Semicolon = 56, TokenCppKind_Colon = 57, TokenCppKind_DotDotDot = 58, TokenCppKind_ColonColon = 59, TokenCppKind_PlusPlus = 60, TokenCppKind_MinusMinus = 61, TokenCppKind_Dot = 62, TokenCppKind_Arrow = 63, TokenCppKind_Plus = 64, TokenCppKind_Minus = 65, TokenCppKind_Not = 66, TokenCppKind_Tilde = 67, TokenCppKind_Star = 68, TokenCppKind_And = 69, TokenCppKind_DotStar = 70, TokenCppKind_ArrowStar = 71, TokenCppKind_Div = 72, TokenCppKind_Mod = 73, TokenCppKind_LeftLeft = 74, TokenCppKind_RightRight = 75, TokenCppKind_Compare = 76, TokenCppKind_Less = 77, TokenCppKind_LessEq = 78, TokenCppKind_Grtr = 79, TokenCppKind_GrtrEq = 80, TokenCppKind_EqEq = 81, TokenCppKind_NotEq = 82, TokenCppKind_Xor = 83, TokenCppKind_Or = 84, TokenCppKind_AndAnd = 85, TokenCppKind_OrOr = 86, TokenCppKind_Ternary = 87, TokenCppKind_Eq = 88, TokenCppKind_PlusEq = 89, TokenCppKind_MinusEq = 90, TokenCppKind_StarEq = 91, TokenCppKind_DivEq = 92, TokenCppKind_ModEq = 93, TokenCppKind_LeftLeftEq = 94, TokenCppKind_RightRightEq = 95, TokenCppKind_Comma = 96, TokenCppKind_PPStringify = 97, TokenCppKind_PPConcat = 98, TokenCppKind_Void = 99, TokenCppKind_Bool = 100, TokenCppKind_Char = 101, TokenCppKind_Int = 102, TokenCppKind_Float = 103, TokenCppKind_Double = 104, TokenCppKind_Long = 105, TokenCppKind_Short = 106, TokenCppKind_Unsigned = 107, TokenCppKind_Signed = 108, TokenCppKind_Const = 109, TokenCppKind_Volatile = 110, TokenCppKind_Asm = 111, TokenCppKind_Break = 112, TokenCppKind_Case = 113, TokenCppKind_Catch = 114, TokenCppKind_Continue = 115, TokenCppKind_Default = 116, TokenCppKind_Do = 117, TokenCppKind_Else = 118, TokenCppKind_For = 119, TokenCppKind_Goto = 120, TokenCppKind_If = 121, TokenCppKind_Return = 122, TokenCppKind_Switch = 123, TokenCppKind_Try = 124, TokenCppKind_While = 125, TokenCppKind_StaticAssert = 126, TokenCppKind_ConstCast = 127, TokenCppKind_DynamicCast = 128, TokenCppKind_ReinterpretCast = 129, TokenCppKind_StaticCast = 130, TokenCppKind_Class = 131, TokenCppKind_Enum = 132, TokenCppKind_Struct = 133, TokenCppKind_Typedef = 134, TokenCppKind_Union = 135, TokenCppKind_Template = 136, TokenCppKind_Typename = 137, TokenCppKind_Friend = 138, TokenCppKind_Namespace = 139, TokenCppKind_Private = 140, TokenCppKind_Protected = 141, TokenCppKind_Public = 142, TokenCppKind_Using = 143, TokenCppKind_Extern = 144, TokenCppKind_Export = 145, TokenCppKind_Inline = 146, TokenCppKind_Static = 147, TokenCppKind_Virtual = 148, TokenCppKind_AlignAs = 149, TokenCppKind_Explicit = 150, TokenCppKind_NoExcept = 151, TokenCppKind_NullPtr = 152, TokenCppKind_Operator = 153, TokenCppKind_Register = 154, TokenCppKind_This = 155, TokenCppKind_ThreadLocal = 156, TokenCppKind_SizeOf = 157, TokenCppKind_AlignOf = 158, TokenCppKind_DeclType = 159, TokenCppKind_TypeID = 160, TokenCppKind_New = 161, TokenCppKind_Delete = 162, TokenCppKind_LiteralTrue = 163, TokenCppKind_LiteralFalse = 164, TokenCppKind_Identifier = 165, TokenCppKind_PPInclude = 166, TokenCppKind_PPVersion = 167, TokenCppKind_PPDefine = 168, TokenCppKind_PPUndef = 169, TokenCppKind_PPIf = 170, TokenCppKind_PPIfDef = 171, TokenCppKind_PPIfNDef = 172, TokenCppKind_PPElse = 173, TokenCppKind_PPElIf = 174, TokenCppKind_PPEndIf = 175, TokenCppKind_PPError = 176, TokenCppKind_PPImport = 177, TokenCppKind_PPUsing = 178, TokenCppKind_PPLine = 179, TokenCppKind_PPPragma = 180, TokenCppKind_PPUnknown = 181, TokenCppKind_PPDefined = 182, TokenCppKind_COUNT = 183, }; char *token_cpp_kind_names[] = { "EOF", "Whitespace", "LexError", "BlockComment", "LineComment", "Backslash", "LiteralInteger", "LiteralIntegerU", "LiteralIntegerL", "LiteralIntegerUL", "LiteralIntegerLL", "LiteralIntegerULL", "LiteralIntegerHex", "LiteralIntegerHexU", "LiteralIntegerHexL", "LiteralIntegerHexUL", "LiteralIntegerHexLL", "LiteralIntegerHexULL", "LiteralIntegerOct", "LiteralIntegerOctU", "LiteralIntegerOctL", "LiteralIntegerOctUL", "LiteralIntegerOctLL", "LiteralIntegerOctULL", "LiteralIntegerBin", "LiteralIntegerBinU", "LiteralIntegerBinL", "LiteralIntegerBinUL", "LiteralIntegerBinLL", "LiteralIntegerBinULL", "LiteralFloat32", "LiteralFloat64", "LiteralString", "LiteralStringWide", "LiteralStringUTF8", "LiteralStringUTF16", "LiteralStringUTF32", "LiteralStringRaw", "LiteralStringWideRaw", "LiteralStringUTF8Raw", "LiteralStringUTF16Raw", "LiteralStringUTF32Raw", "LiteralCharacter", "LiteralCharacterWide", "LiteralCharacterUTF8", "LiteralCharacterUTF16", "LiteralCharacterUTF32", "PPIncludeFile", "PPErrorMessage", "KeywordGeneric", "BraceOp", "BraceCl", "ParenOp", "BrackOp", "ParenCl", "BrackCl", "Semicolon", "Colon", "DotDotDot", "ColonColon", "PlusPlus", "MinusMinus", "Dot", "Arrow", "Plus", "Minus", "Not", "Tilde", "Star", "And", "DotStar", "ArrowStar", "Div", "Mod", "LeftLeft", "RightRight", "Compare", "Less", "LessEq", "Grtr", "GrtrEq", "EqEq", "NotEq", "Xor", "Or", "AndAnd", "OrOr", "Ternary", "Eq", "PlusEq", "MinusEq", "StarEq", "DivEq", "ModEq", "LeftLeftEq", "RightRightEq", "Comma", "PPStringify", "PPConcat", "Void", "Bool", "Char", "Int", "Float", "Double", "Long", "Short", "Unsigned", "Signed", "Const", "Volatile", "Asm", "Break", "Case", "Catch", "Continue", "Default", "Do", "Else", "For", "Goto", "If", "Return", "Switch", "Try", "While", "StaticAssert", "ConstCast", "DynamicCast", "ReinterpretCast", "StaticCast", "Class", "Enum", "Struct", "Typedef", "Union", "Template", "Typename", "Friend", "Namespace", "Private", "Protected", "Public", "Using", "Extern", "Export", "Inline", "Static", "Virtual", "AlignAs", "Explicit", "NoExcept", "NullPtr", "Operator", "Register", "This", "ThreadLocal", "SizeOf", "AlignOf", "DeclType", "TypeID", "New", "Delete", "LiteralTrue", "LiteralFalse", "Identifier", "PPInclude", "PPVersion", "PPDefine", "PPUndef", "PPIf", "PPIfDef", "PPIfNDef", "PPElse", "PPElIf", "PPEndIf", "PPError", "PPImport", "PPUsing", "PPLine", "PPPragma", "PPUnknown", "PPDefined", };