#![allow(clippy::match_same_arms, clippy::too_many_lines)]
use num_derive::FromPrimitive;
#[derive(Clone, Debug, PartialEq, Eq, FromPrimitive)]
pub enum C {
End = 0,
Identifier = 1,
HASHinclude = 2,
PreprocIncludeToken2 = 3,
HASHdefine = 4,
LPAREN = 5,
DOTDOTDOT = 6,
COMMA = 7,
RPAREN = 8,
HASHif = 9,
LF = 10,
HASHendif = 11,
HASHifdef = 12,
HASHifndef = 13,
HASHelse = 14,
HASHelif = 15,
HASHelifdef = 16,
HASHelifndef = 17,
PreprocArg = 18,
PreprocDirective = 19,
LPAREN2 = 20,
Defined = 21,
BANG = 22,
TILDE = 23,
DASH = 24,
PLUS = 25,
STAR = 26,
SLASH = 27,
PERCENT = 28,
PIPEPIPE = 29,
AMPAMP = 30,
PIPE = 31,
CARET = 32,
AMP = 33,
EQEQ = 34,
BANGEQ = 35,
GT = 36,
GTEQ = 37,
LTEQ = 38,
LT = 39,
LTLT = 40,
GTGT = 41,
SEMI = 42,
Extension = 43,
Typedef = 44,
Extern = 45,
Attribute2 = 46,
Attribute3 = 47,
COLONCOLON = 48,
LBRACKLBRACK = 49,
RBRACKRBRACK = 50,
Declspec = 51,
Based = 52,
Cdecl = 53,
Clrcall = 54,
Stdcall = 55,
Fastcall = 56,
Thiscall = 57,
Vectorcall = 58,
MsRestrictModifier = 59,
MsUnsignedPtrModifier = 60,
MsSignedPtrModifier = 61,
Unaligned = 62,
Unaligned2 = 63,
LBRACE = 64,
RBRACE = 65,
Signed = 66,
Unsigned = 67,
Long = 68,
Short = 69,
LBRACK = 70,
Static = 71,
RBRACK = 72,
EQ = 73,
Auto = 74,
Register = 75,
Inline = 76,
Inline2 = 77,
Inline3 = 78,
Forceinline = 79,
ThreadLocal = 80,
Thread = 81,
Const = 82,
Constexpr = 83,
Volatile = 84,
Restrict = 85,
Restrict2 = 86,
Atomic = 87,
Noreturn = 88,
Noreturn2 = 89,
Nonnull = 90,
Alignas = 91,
Alignas2 = 92,
PrimitiveType = 93,
Enum = 94,
COLON = 95,
Struct = 96,
Union = 97,
If = 98,
Else = 99,
Switch = 100,
Case = 101,
Default = 102,
While = 103,
Do = 104,
For = 105,
Return = 106,
Break = 107,
Continue = 108,
Goto = 109,
Try = 110,
Except = 111,
Finally = 112,
Leave = 113,
QMARK = 114,
STAREQ = 115,
SLASHEQ = 116,
PERCENTEQ = 117,
PLUSEQ = 118,
DASHEQ = 119,
LTLTEQ = 120,
GTGTEQ = 121,
AMPEQ = 122,
CARETEQ = 123,
PIPEEQ = 124,
DASHDASH = 125,
PLUSPLUS = 126,
Sizeof = 127,
Alignof = 128,
Alignof2 = 129,
Alignof3 = 130,
Alignof4 = 131,
Alignof5 = 132,
Offsetof = 133,
Generic = 134,
Asm = 135,
Asm2 = 136,
Asm3 = 137,
Volatile2 = 138,
DOT = 139,
DASHGT = 140,
NumberLiteral = 141,
LSQUOTE = 142,
USQUOTE = 143,
USQUOTE2 = 144,
U8SQUOTE = 145,
SQUOTE = 146,
Character = 147,
LDQUOTE = 148,
UDQUOTE = 149,
UDQUOTE2 = 150,
U8DQUOTE = 151,
DQUOTE = 152,
StringContent = 153,
EscapeSequence = 154,
SystemLibString = 155,
True = 156,
False = 157,
NULL = 158,
Nullptr = 159,
Comment = 160,
TranslationUnit = 161,
TopLevelItem = 162,
BlockItem = 163,
PreprocInclude = 164,
PreprocDef = 165,
PreprocFunctionDef = 166,
PreprocParams = 167,
PreprocCall = 168,
PreprocIf = 169,
PreprocIfdef = 170,
PreprocElse = 171,
PreprocElif = 172,
PreprocElifdef = 173,
PreprocIf2 = 174,
PreprocIfdef2 = 175,
PreprocElse2 = 176,
PreprocElif2 = 177,
PreprocElifdef2 = 178,
PreprocIf3 = 179,
PreprocIfdef3 = 180,
PreprocElse3 = 181,
PreprocElif3 = 182,
PreprocElifdef3 = 183,
PreprocIf4 = 184,
PreprocIfdef4 = 185,
PreprocElse4 = 186,
PreprocElif4 = 187,
PreprocElifdef4 = 188,
PreprocExpression = 189,
ParenthesizedExpression = 190,
PreprocDefined = 191,
UnaryExpression = 192,
CallExpression = 193,
ArgumentList = 194,
BinaryExpression = 195,
FunctionDefinition = 196,
FunctionDefinition2 = 197,
Declaration = 198,
TypeDefinition = 199,
TypeDefinitionType = 200,
TypeDefinitionDeclarators = 201,
DeclarationModifiers = 202,
DeclarationSpecifiers = 203,
LinkageSpecification = 204,
AttributeSpecifier = 205,
Attribute = 206,
AttributeDeclaration = 207,
MsDeclspecModifier = 208,
MsBasedModifier = 209,
MsCallModifier = 210,
MsUnalignedPtrModifier = 211,
MsPointerModifier = 212,
DeclarationList = 213,
Declarator = 214,
DeclarationDeclarator = 215,
FieldDeclarator = 216,
TypeDeclarator = 217,
AbstractDeclarator = 218,
ParenthesizedDeclarator = 219,
ParenthesizedDeclarator2 = 220,
ParenthesizedDeclarator3 = 221,
AbstractParenthesizedDeclarator = 222,
AttributedDeclarator = 223,
AttributedDeclarator2 = 224,
AttributedDeclarator3 = 225,
PointerDeclarator = 226,
PointerDeclarator2 = 227,
PointerDeclarator3 = 228,
AbstractPointerDeclarator = 229,
FunctionDeclarator = 230,
FunctionDeclarator2 = 231,
FunctionDeclarator3 = 232,
FunctionDeclarator4 = 233,
AbstractFunctionDeclarator = 234,
FunctionDeclarator5 = 235,
ArrayDeclarator = 236,
ArrayDeclarator2 = 237,
ArrayDeclarator3 = 238,
AbstractArrayDeclarator = 239,
InitDeclarator = 240,
CompoundStatement = 241,
StorageClassSpecifier = 242,
TypeQualifier = 243,
AlignasQualifier = 244,
TypeSpecifier = 245,
SizedTypeSpecifier = 246,
EnumSpecifier = 247,
EnumeratorList = 248,
StructSpecifier = 249,
UnionSpecifier = 250,
FieldDeclarationList = 251,
FieldDeclarationListItem = 252,
FieldDeclaration = 253,
FieldDeclarationDeclarator = 254,
BitfieldClause = 255,
Enumerator = 256,
VariadicParameter = 257,
ParameterList = 258,
ParameterList2 = 259,
ParameterDeclaration = 260,
AttributedStatement = 261,
Statement = 262,
TopLevelStatement = 263,
LabeledStatement = 264,
ExpressionStatement = 265,
ExpressionStatement2 = 266,
IfStatement = 267,
ElseClause = 268,
SwitchStatement = 269,
CaseStatement = 270,
WhileStatement = 271,
DoStatement = 272,
ForStatement = 273,
ForStatementBody = 274,
ReturnStatement = 275,
BreakStatement = 276,
ContinueStatement = 277,
GotoStatement = 278,
SehTryStatement = 279,
SehExceptClause = 280,
SehFinallyClause = 281,
SehLeaveStatement = 282,
Expression = 283,
String = 284,
CommaExpression = 285,
ConditionalExpression = 286,
AssignmentExpression = 287,
PointerExpression = 288,
UnaryExpression2 = 289,
BinaryExpression2 = 290,
UpdateExpression = 291,
CastExpression = 292,
TypeDescriptor = 293,
SizeofExpression = 294,
AlignofExpression = 295,
OffsetofExpression = 296,
GenericExpression = 297,
SubscriptExpression = 298,
CallExpression2 = 299,
GnuAsmExpression = 300,
GnuAsmQualifier = 301,
GnuAsmOutputOperandList = 302,
GnuAsmOutputOperand = 303,
GnuAsmInputOperandList = 304,
GnuAsmInputOperand = 305,
GnuAsmClobberList = 306,
GnuAsmGotoList = 307,
ExtensionExpression = 308,
ArgumentList2 = 309,
FieldExpression = 310,
CompoundLiteralExpression = 311,
ParenthesizedExpression2 = 312,
InitializerList = 313,
InitializerPair = 314,
SubscriptDesignator = 315,
SubscriptRangeDesignator = 316,
FieldDesignator = 317,
CharLiteral = 318,
ConcatenatedString = 319,
StringLiteral = 320,
Null = 321,
EmptyDeclaration = 322,
MacroTypeSpecifier = 323,
TranslationUnitRepeat1 = 324,
PreprocParamsRepeat1 = 325,
PreprocIfRepeat1 = 326,
PreprocIfInFieldDeclarationListRepeat1 = 327,
PreprocIfInEnumeratorListRepeat1 = 328,
PreprocIfInEnumeratorListNoCommaRepeat1 = 329,
PreprocArgumentListRepeat1 = 330,
OldStyleFunctionDefinitionRepeat1 = 331,
DeclarationRepeat1 = 332,
TypeDefinitionRepeat1 = 333,
TypeDefinitionTypeRepeat1 = 334,
TypeDefinitionDeclaratorsRepeat1 = 335,
DeclarationSpecifiersRepeat1 = 336,
AttributeDeclarationRepeat1 = 337,
AttributedDeclaratorRepeat1 = 338,
PointerDeclaratorRepeat1 = 339,
FunctionDeclaratorRepeat1 = 340,
ArrayDeclaratorRepeat1 = 341,
SizedTypeSpecifierRepeat1 = 342,
EnumeratorListRepeat1 = 343,
FieldDeclarationDeclaratorRepeat1 = 344,
ParameterListRepeat1 = 345,
OldStyleParameterListRepeat1 = 346,
CaseStatementRepeat1 = 347,
GenericExpressionRepeat1 = 348,
GnuAsmExpressionRepeat1 = 349,
GnuAsmOutputOperandListRepeat1 = 350,
GnuAsmInputOperandListRepeat1 = 351,
GnuAsmClobberListRepeat1 = 352,
GnuAsmGotoListRepeat1 = 353,
ArgumentListRepeat1 = 354,
InitializerListRepeat1 = 355,
InitializerPairRepeat1 = 356,
CharLiteralRepeat1 = 357,
ConcatenatedStringRepeat1 = 358,
StringLiteralRepeat1 = 359,
FieldIdentifier = 360,
StatementIdentifier = 361,
TypeIdentifier = 362,
Error = 363,
}
impl From<C> for &'static str {
#[inline]
fn from(tok: C) -> Self {
match tok {
C::End => "end",
C::Identifier => "identifier",
C::HASHinclude => "#include",
C::PreprocIncludeToken2 => "preproc_include_token2",
C::HASHdefine => "#define",
C::LPAREN => "(",
C::DOTDOTDOT => "...",
C::COMMA => ",",
C::RPAREN => ")",
C::HASHif => "#if",
C::LF => "\n",
C::HASHendif => "#endif",
C::HASHifdef => "#ifdef",
C::HASHifndef => "#ifndef",
C::HASHelse => "#else",
C::HASHelif => "#elif",
C::HASHelifdef => "#elifdef",
C::HASHelifndef => "#elifndef",
C::PreprocArg => "preproc_arg",
C::PreprocDirective => "preproc_directive",
C::LPAREN2 => "(",
C::Defined => "defined",
C::BANG => "!",
C::TILDE => "~",
C::DASH => "-",
C::PLUS => "+",
C::STAR => "*",
C::SLASH => "/",
C::PERCENT => "%",
C::PIPEPIPE => "||",
C::AMPAMP => "&&",
C::PIPE => "|",
C::CARET => "^",
C::AMP => "&",
C::EQEQ => "==",
C::BANGEQ => "!=",
C::GT => ">",
C::GTEQ => ">=",
C::LTEQ => "<=",
C::LT => "<",
C::LTLT => "<<",
C::GTGT => ">>",
C::SEMI => ";",
C::Extension => "__extension__",
C::Typedef => "typedef",
C::Extern => "extern",
C::Attribute2 => "__attribute__",
C::Attribute3 => "__attribute",
C::COLONCOLON => "::",
C::LBRACKLBRACK => "[[",
C::RBRACKRBRACK => "]]",
C::Declspec => "__declspec",
C::Based => "__based",
C::Cdecl => "__cdecl",
C::Clrcall => "__clrcall",
C::Stdcall => "__stdcall",
C::Fastcall => "__fastcall",
C::Thiscall => "__thiscall",
C::Vectorcall => "__vectorcall",
C::MsRestrictModifier => "ms_restrict_modifier",
C::MsUnsignedPtrModifier => "ms_unsigned_ptr_modifier",
C::MsSignedPtrModifier => "ms_signed_ptr_modifier",
C::Unaligned => "_unaligned",
C::Unaligned2 => "__unaligned",
C::LBRACE => "{",
C::RBRACE => "}",
C::Signed => "signed",
C::Unsigned => "unsigned",
C::Long => "long",
C::Short => "short",
C::LBRACK => "[",
C::Static => "static",
C::RBRACK => "]",
C::EQ => "=",
C::Auto => "auto",
C::Register => "register",
C::Inline => "inline",
C::Inline2 => "__inline",
C::Inline3 => "__inline__",
C::Forceinline => "__forceinline",
C::ThreadLocal => "thread_local",
C::Thread => "__thread",
C::Const => "const",
C::Constexpr => "constexpr",
C::Volatile => "volatile",
C::Restrict => "restrict",
C::Restrict2 => "__restrict__",
C::Atomic => "_Atomic",
C::Noreturn => "_Noreturn",
C::Noreturn2 => "noreturn",
C::Nonnull => "_Nonnull",
C::Alignas => "alignas",
C::Alignas2 => "_Alignas",
C::PrimitiveType => "primitive_type",
C::Enum => "enum",
C::COLON => ":",
C::Struct => "struct",
C::Union => "union",
C::If => "if",
C::Else => "else",
C::Switch => "switch",
C::Case => "case",
C::Default => "default",
C::While => "while",
C::Do => "do",
C::For => "for",
C::Return => "return",
C::Break => "break",
C::Continue => "continue",
C::Goto => "goto",
C::Try => "__try",
C::Except => "__except",
C::Finally => "__finally",
C::Leave => "__leave",
C::QMARK => "?",
C::STAREQ => "*=",
C::SLASHEQ => "/=",
C::PERCENTEQ => "%=",
C::PLUSEQ => "+=",
C::DASHEQ => "-=",
C::LTLTEQ => "<<=",
C::GTGTEQ => ">>=",
C::AMPEQ => "&=",
C::CARETEQ => "^=",
C::PIPEEQ => "|=",
C::DASHDASH => "--",
C::PLUSPLUS => "++",
C::Sizeof => "sizeof",
C::Alignof => "__alignof__",
C::Alignof2 => "__alignof",
C::Alignof3 => "_alignof",
C::Alignof4 => "alignof",
C::Alignof5 => "_Alignof",
C::Offsetof => "offsetof",
C::Generic => "_Generic",
C::Asm => "asm",
C::Asm2 => "__asm__",
C::Asm3 => "__asm",
C::Volatile2 => "__volatile__",
C::DOT => ".",
C::DASHGT => "->",
C::NumberLiteral => "number_literal",
C::LSQUOTE => "L'",
C::USQUOTE => "u'",
C::USQUOTE2 => "U'",
C::U8SQUOTE => "u8'",
C::SQUOTE => "'",
C::Character => "character",
C::LDQUOTE => "L\"",
C::UDQUOTE => "u\"",
C::UDQUOTE2 => "U\"",
C::U8DQUOTE => "u8\"",
C::DQUOTE => "\"",
C::StringContent => "string_content",
C::EscapeSequence => "escape_sequence",
C::SystemLibString => "system_lib_string",
C::True => "true",
C::False => "false",
C::NULL => "NULL",
C::Nullptr => "nullptr",
C::Comment => "comment",
C::TranslationUnit => "translation_unit",
C::TopLevelItem => "_top_level_item",
C::BlockItem => "_block_item",
C::PreprocInclude => "preproc_include",
C::PreprocDef => "preproc_def",
C::PreprocFunctionDef => "preproc_function_def",
C::PreprocParams => "preproc_params",
C::PreprocCall => "preproc_call",
C::PreprocIf => "preproc_if",
C::PreprocIfdef => "preproc_ifdef",
C::PreprocElse => "preproc_else",
C::PreprocElif => "preproc_elif",
C::PreprocElifdef => "preproc_elifdef",
C::PreprocIf2 => "preproc_if",
C::PreprocIfdef2 => "preproc_ifdef",
C::PreprocElse2 => "preproc_else",
C::PreprocElif2 => "preproc_elif",
C::PreprocElifdef2 => "preproc_elifdef",
C::PreprocIf3 => "preproc_if",
C::PreprocIfdef3 => "preproc_ifdef",
C::PreprocElse3 => "preproc_else",
C::PreprocElif3 => "preproc_elif",
C::PreprocElifdef3 => "preproc_elifdef",
C::PreprocIf4 => "preproc_if",
C::PreprocIfdef4 => "preproc_ifdef",
C::PreprocElse4 => "preproc_else",
C::PreprocElif4 => "preproc_elif",
C::PreprocElifdef4 => "preproc_elifdef",
C::PreprocExpression => "_preproc_expression",
C::ParenthesizedExpression => "parenthesized_expression",
C::PreprocDefined => "preproc_defined",
C::UnaryExpression => "unary_expression",
C::CallExpression => "call_expression",
C::ArgumentList => "argument_list",
C::BinaryExpression => "binary_expression",
C::FunctionDefinition => "function_definition",
C::FunctionDefinition2 => "function_definition",
C::Declaration => "declaration",
C::TypeDefinition => "type_definition",
C::TypeDefinitionType => "_type_definition_type",
C::TypeDefinitionDeclarators => "_type_definition_declarators",
C::DeclarationModifiers => "_declaration_modifiers",
C::DeclarationSpecifiers => "_declaration_specifiers",
C::LinkageSpecification => "linkage_specification",
C::AttributeSpecifier => "attribute_specifier",
C::Attribute => "attribute",
C::AttributeDeclaration => "attribute_declaration",
C::MsDeclspecModifier => "ms_declspec_modifier",
C::MsBasedModifier => "ms_based_modifier",
C::MsCallModifier => "ms_call_modifier",
C::MsUnalignedPtrModifier => "ms_unaligned_ptr_modifier",
C::MsPointerModifier => "ms_pointer_modifier",
C::DeclarationList => "declaration_list",
C::Declarator => "_declarator",
C::DeclarationDeclarator => "_declaration_declarator",
C::FieldDeclarator => "_field_declarator",
C::TypeDeclarator => "_type_declarator",
C::AbstractDeclarator => "_abstract_declarator",
C::ParenthesizedDeclarator => "parenthesized_declarator",
C::ParenthesizedDeclarator2 => "parenthesized_declarator",
C::ParenthesizedDeclarator3 => "parenthesized_declarator",
C::AbstractParenthesizedDeclarator => "abstract_parenthesized_declarator",
C::AttributedDeclarator => "attributed_declarator",
C::AttributedDeclarator2 => "attributed_declarator",
C::AttributedDeclarator3 => "attributed_declarator",
C::PointerDeclarator => "pointer_declarator",
C::PointerDeclarator2 => "pointer_declarator",
C::PointerDeclarator3 => "pointer_declarator",
C::AbstractPointerDeclarator => "abstract_pointer_declarator",
C::FunctionDeclarator => "function_declarator",
C::FunctionDeclarator2 => "function_declarator",
C::FunctionDeclarator3 => "function_declarator",
C::FunctionDeclarator4 => "function_declarator",
C::AbstractFunctionDeclarator => "abstract_function_declarator",
C::FunctionDeclarator5 => "function_declarator",
C::ArrayDeclarator => "array_declarator",
C::ArrayDeclarator2 => "array_declarator",
C::ArrayDeclarator3 => "array_declarator",
C::AbstractArrayDeclarator => "abstract_array_declarator",
C::InitDeclarator => "init_declarator",
C::CompoundStatement => "compound_statement",
C::StorageClassSpecifier => "storage_class_specifier",
C::TypeQualifier => "type_qualifier",
C::AlignasQualifier => "alignas_qualifier",
C::TypeSpecifier => "type_specifier",
C::SizedTypeSpecifier => "sized_type_specifier",
C::EnumSpecifier => "enum_specifier",
C::EnumeratorList => "enumerator_list",
C::StructSpecifier => "struct_specifier",
C::UnionSpecifier => "union_specifier",
C::FieldDeclarationList => "field_declaration_list",
C::FieldDeclarationListItem => "_field_declaration_list_item",
C::FieldDeclaration => "field_declaration",
C::FieldDeclarationDeclarator => "_field_declaration_declarator",
C::BitfieldClause => "bitfield_clause",
C::Enumerator => "enumerator",
C::VariadicParameter => "variadic_parameter",
C::ParameterList => "parameter_list",
C::ParameterList2 => "parameter_list",
C::ParameterDeclaration => "parameter_declaration",
C::AttributedStatement => "attributed_statement",
C::Statement => "statement",
C::TopLevelStatement => "_top_level_statement",
C::LabeledStatement => "labeled_statement",
C::ExpressionStatement => "expression_statement",
C::ExpressionStatement2 => "expression_statement",
C::IfStatement => "if_statement",
C::ElseClause => "else_clause",
C::SwitchStatement => "switch_statement",
C::CaseStatement => "case_statement",
C::WhileStatement => "while_statement",
C::DoStatement => "do_statement",
C::ForStatement => "for_statement",
C::ForStatementBody => "_for_statement_body",
C::ReturnStatement => "return_statement",
C::BreakStatement => "break_statement",
C::ContinueStatement => "continue_statement",
C::GotoStatement => "goto_statement",
C::SehTryStatement => "seh_try_statement",
C::SehExceptClause => "seh_except_clause",
C::SehFinallyClause => "seh_finally_clause",
C::SehLeaveStatement => "seh_leave_statement",
C::Expression => "expression",
C::String => "_string",
C::CommaExpression => "comma_expression",
C::ConditionalExpression => "conditional_expression",
C::AssignmentExpression => "assignment_expression",
C::PointerExpression => "pointer_expression",
C::UnaryExpression2 => "unary_expression",
C::BinaryExpression2 => "binary_expression",
C::UpdateExpression => "update_expression",
C::CastExpression => "cast_expression",
C::TypeDescriptor => "type_descriptor",
C::SizeofExpression => "sizeof_expression",
C::AlignofExpression => "alignof_expression",
C::OffsetofExpression => "offsetof_expression",
C::GenericExpression => "generic_expression",
C::SubscriptExpression => "subscript_expression",
C::CallExpression2 => "call_expression",
C::GnuAsmExpression => "gnu_asm_expression",
C::GnuAsmQualifier => "gnu_asm_qualifier",
C::GnuAsmOutputOperandList => "gnu_asm_output_operand_list",
C::GnuAsmOutputOperand => "gnu_asm_output_operand",
C::GnuAsmInputOperandList => "gnu_asm_input_operand_list",
C::GnuAsmInputOperand => "gnu_asm_input_operand",
C::GnuAsmClobberList => "gnu_asm_clobber_list",
C::GnuAsmGotoList => "gnu_asm_goto_list",
C::ExtensionExpression => "extension_expression",
C::ArgumentList2 => "argument_list",
C::FieldExpression => "field_expression",
C::CompoundLiteralExpression => "compound_literal_expression",
C::ParenthesizedExpression2 => "parenthesized_expression",
C::InitializerList => "initializer_list",
C::InitializerPair => "initializer_pair",
C::SubscriptDesignator => "subscript_designator",
C::SubscriptRangeDesignator => "subscript_range_designator",
C::FieldDesignator => "field_designator",
C::CharLiteral => "char_literal",
C::ConcatenatedString => "concatenated_string",
C::StringLiteral => "string_literal",
C::Null => "null",
C::EmptyDeclaration => "_empty_declaration",
C::MacroTypeSpecifier => "macro_type_specifier",
C::TranslationUnitRepeat1 => "translation_unit_repeat1",
C::PreprocParamsRepeat1 => "preproc_params_repeat1",
C::PreprocIfRepeat1 => "preproc_if_repeat1",
C::PreprocIfInFieldDeclarationListRepeat1 => {
"preproc_if_in_field_declaration_list_repeat1"
}
C::PreprocIfInEnumeratorListRepeat1 => "preproc_if_in_enumerator_list_repeat1",
C::PreprocIfInEnumeratorListNoCommaRepeat1 => {
"preproc_if_in_enumerator_list_no_comma_repeat1"
}
C::PreprocArgumentListRepeat1 => "preproc_argument_list_repeat1",
C::OldStyleFunctionDefinitionRepeat1 => "_old_style_function_definition_repeat1",
C::DeclarationRepeat1 => "declaration_repeat1",
C::TypeDefinitionRepeat1 => "type_definition_repeat1",
C::TypeDefinitionTypeRepeat1 => "_type_definition_type_repeat1",
C::TypeDefinitionDeclaratorsRepeat1 => "_type_definition_declarators_repeat1",
C::DeclarationSpecifiersRepeat1 => "_declaration_specifiers_repeat1",
C::AttributeDeclarationRepeat1 => "attribute_declaration_repeat1",
C::AttributedDeclaratorRepeat1 => "attributed_declarator_repeat1",
C::PointerDeclaratorRepeat1 => "pointer_declarator_repeat1",
C::FunctionDeclaratorRepeat1 => "function_declarator_repeat1",
C::ArrayDeclaratorRepeat1 => "array_declarator_repeat1",
C::SizedTypeSpecifierRepeat1 => "sized_type_specifier_repeat1",
C::EnumeratorListRepeat1 => "enumerator_list_repeat1",
C::FieldDeclarationDeclaratorRepeat1 => "_field_declaration_declarator_repeat1",
C::ParameterListRepeat1 => "parameter_list_repeat1",
C::OldStyleParameterListRepeat1 => "_old_style_parameter_list_repeat1",
C::CaseStatementRepeat1 => "case_statement_repeat1",
C::GenericExpressionRepeat1 => "generic_expression_repeat1",
C::GnuAsmExpressionRepeat1 => "gnu_asm_expression_repeat1",
C::GnuAsmOutputOperandListRepeat1 => "gnu_asm_output_operand_list_repeat1",
C::GnuAsmInputOperandListRepeat1 => "gnu_asm_input_operand_list_repeat1",
C::GnuAsmClobberListRepeat1 => "gnu_asm_clobber_list_repeat1",
C::GnuAsmGotoListRepeat1 => "gnu_asm_goto_list_repeat1",
C::ArgumentListRepeat1 => "argument_list_repeat1",
C::InitializerListRepeat1 => "initializer_list_repeat1",
C::InitializerPairRepeat1 => "initializer_pair_repeat1",
C::CharLiteralRepeat1 => "char_literal_repeat1",
C::ConcatenatedStringRepeat1 => "concatenated_string_repeat1",
C::StringLiteralRepeat1 => "string_literal_repeat1",
C::FieldIdentifier => "field_identifier",
C::StatementIdentifier => "statement_identifier",
C::TypeIdentifier => "type_identifier",
C::Error => "ERROR",
}
}
}
impl From<u16> for C {
#[inline]
fn from(x: u16) -> Self {
num_traits::FromPrimitive::from_u16(x).unwrap_or(Self::Error)
}
}
impl PartialEq<u16> for C {
#[inline]
fn eq(&self, x: &u16) -> bool {
*self == Into::<Self>::into(*x)
}
}
impl PartialEq<C> for u16 {
#[inline]
fn eq(&self, x: &C) -> bool {
*x == *self
}
}