| accessor_body |
";"
"{" |
| accessor_declaraions |
"["
"get"
"internal"
"private"
"protected"
"set" |
| accessor_modifier |
"internal"
"private"
"protected" |
| accessor_prefix |
ø
"["
"internal"
"private"
"protected" |
| add_accessor_declaration |
"["
"add" |
| additive_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| addressof_expression |
"&" |
| and_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| anonymous_method_body |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"{"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| anonymous_method_expression |
"async"
"delegate" |
| anonymous_method_signature |
"("
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| anonymous_object_creation_expression |
"new" |
| anonymous_object_initializer |
"{" |
| argument |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"out"
"ref"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| argument_list |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"out"
"ref"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| argument_name |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| argument_value |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"out"
"ref"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| array_creation_expression |
"new" |
| array_initializer |
"{" |
| array_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| assignment |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| assignment_operator |
"%="
"&="
"*="
"+="
"-="
"/="
"<<="
"="
">"
"^="
"|=" |
| asterisks |
"*" |
| attribute |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| attribute_argument_list |
ø
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"out"
"ref"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| attribute_arguments |
"(" |
| attribute_list |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| attribute_name |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| attribute_section |
"[" |
| attribute_target |
"event"
"field"
"method"
"module"
"param"
"property"
"return"
"type" |
| attribute_target_specifier |
"event"
"field"
"method"
"module"
"param"
"property"
"return"
"type" |
| attributes |
"[" |
| available_identifier |
ANY_IDENTIFIER_EXCEPT_keyword |
| await_expression |
"await" |
| base_access |
"base" |
| base_access_element_list |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"out"
"ref"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| base_access_suffix |
"."
"[" |
| binary_operator_declarator |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| block |
"{" |
| boolean_literal |
"false"
"true" |
| break_statement |
"break" |
| buffer_element_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| c_sharp |
ø
"!"
"!="
"#"
"%"
"%="
"&"
"&&"
"&="
"'"
"("
")"
"*"
"*="
"+"
"++"
"+="
","
"-"
"--"
"-="
"->"
"."
"/"
"/*"
"//"
"/="
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
":"
"::"
";"
"<"
"<<"
"<<="
"<="
"="
"=="
"=>"
">"
">="
"?"
"??"
"@"
"["
"]"
"^"
"^="
"abstract"
"as"
"base"
"bool"
"break"
"byte"
"case"
"catch"
"char"
"checked"
"class"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"else"
"enum"
"event"
"explicit"
"extern"
"false"
"finally"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"implicit"
"in"
"int"
"interface"
"internal"
"is"
"lock"
"long"
"namespace"
"new"
"null"
"object"
"operator"
"out"
"override"
"params"
"partial"
"private"
"protected"
"public"
"readonly"
"ref"
"return"
"sbyte"
"sealed"
"short"
"sizeof"
"stackalloc"
"static"
"string"
"struct"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"virtual"
"void"
"volatile"
"while"
"{"
"|"
"|="
"||"
"}"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| cast_expression |
"(" |
| catch_clauses |
"catch" |
| character |
"\'"
"\0"
"\U"
"\\"
"\a"
"\b"
"\f"
"\n"
"\r"
"\t"
"\u"
"\v"
"\x"
'\"'
ANY_UNICODE_EXCEPT_u0027_u005C_new_line |
| character_literal |
"'" |
| checked_expression |
"checked" |
| checked_statement |
"checked" |
| class_base |
":" |
| class_body |
"{" |
| class_declaration |
"["
"abstract"
"class"
"internal"
"new"
"partial"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe" |
| class_member_declaration |
"@"
"["
"abstract"
"async"
"bool"
"byte"
"char"
"class"
"const"
"decimal"
"delegate"
"double"
"dynamic"
"enum"
"event"
"explicit"
"extern"
"float"
"implicit"
"int"
"interface"
"internal"
"long"
"new"
"object"
"override"
"partial"
"private"
"protected"
"public"
"readonly"
"sbyte"
"sealed"
"short"
"static"
"string"
"struct"
"uint"
"ulong"
"unsafe"
"ushort"
"virtual"
"void"
"volatile"
"~"
ANY_IDENTIFIER_EXCEPT_keyword |
| class_modifier |
"abstract"
"internal"
"new"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe" |
| class_prefix |
ø
"["
"abstract"
"internal"
"new"
"partial"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe" |
| class_suffix |
ø
":"
"<"
"where" |
| class_type |
"@"
"dynamic"
"object"
"string"
ANY_IDENTIFIER_EXCEPT_keyword |
| collection_initializer |
"{" |
| combining_character |
ANY_UNICODE_Mn_Mc
ANY_UXXXXXXXX_Mn_Mc
ANY_uXXXX_Mn_Mc |
| comment |
"/*"
"//" |
| compilation_unit |
ø
"["
"abstract"
"class"
"delegate"
"enum"
"extern"
"interface"
"internal"
"namespace"
"new"
"partial"
"private"
"protected"
"public"
"sealed"
"static"
"struct"
"unsafe"
"using" |
| conditional_and_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| conditional_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| conditional_or_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| conditional_section |
"!"
"!="
"#"
"%"
"%="
"&"
"&&"
"&="
"'"
"("
")"
"*"
"*="
"+"
"++"
"+="
","
"-"
"--"
"-="
"->"
"."
"/"
"/*"
"//"
"/="
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
":"
"::"
";"
"<"
"<<"
"<<="
"<="
"="
"=="
"=>"
">"
">="
"?"
"??"
"@"
"["
"]"
"^"
"^="
"abstract"
"as"
"base"
"bool"
"break"
"byte"
"case"
"catch"
"char"
"checked"
"class"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"else"
"enum"
"event"
"explicit"
"extern"
"false"
"finally"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"implicit"
"in"
"int"
"interface"
"internal"
"is"
"lock"
"long"
"namespace"
"new"
"null"
"object"
"operator"
"out"
"override"
"params"
"private"
"protected"
"public"
"readonly"
"ref"
"return"
"sbyte"
"sealed"
"short"
"sizeof"
"stackalloc"
"static"
"string"
"struct"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"virtual"
"void"
"volatile"
"while"
"{"
"|"
"|="
"||"
"}"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword
ANY_UNICODE_EXCEPT_u0023_new_line
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| conditional_symbol |
"@"
ANY_IDENTIFIER_EXCEPT_keyword
ANY_keyword_EXCEPT_true_false |
| connecting_character |
ANY_UNICODE_Pc
ANY_UXXXXXXXX_Pc
ANY_uXXXX_Pc |
| constant_declaration |
"["
"const"
"internal"
"new"
"private"
"protected"
"public" |
| constant_declarator |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| constant_declarators |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| constant_modifier |
"internal"
"new"
"private"
"protected"
"public" |
| constant_prefix |
ø
"["
"internal"
"new"
"private"
"protected"
"public" |
| constructor_body |
";"
"{" |
| constructor_constraint |
"new" |
| constructor_declaration |
"@"
"["
"extern"
"internal"
"private"
"protected"
"public"
"unsafe"
ANY_IDENTIFIER_EXCEPT_keyword |
| constructor_declatator |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| constructor_initializer |
"base"
"this" |
| constructor_modifier |
"extern"
"internal"
"private"
"protected"
"public"
"unsafe" |
| constructor_prefix |
ø
"["
"extern"
"internal"
"private"
"protected"
"public"
"unsafe" |
| continue_statement |
"continue" |
| conversion_operator_declarator |
"explicit"
"implicit" |
| decimal_digit |
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9" |
| decimal_digit_character |
ANY_UNICODE_Nd
ANY_UXXXXXXXX_Nd
ANY_uXXXX_Nd |
| decimal_digits |
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9" |
| decimal_integer_literal |
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9" |
| declaration_statement |
"@"
"bool"
"byte"
"char"
"const"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"var"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| default_argument |
"=" |
| default_value_expression |
"default" |
| delegate_creation_expression |
"new" |
| delegate_declaration |
"["
"delegate"
"internal"
"new"
"private"
"protected"
"public"
"unsafe" |
| delegate_modifier |
"internal"
"new"
"private"
"protected"
"public"
"unsafe" |
| delegate_prefix |
ø
"["
"internal"
"new"
"private"
"protected"
"public"
"unsafe" |
| delegate_suffix |
"("
"<" |
| delegate_type |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| delimited_comment |
"/*" |
| delimited_comment_section |
"*"
ANY_UNICODE_EXCEPT_u002A |
| destructor_body |
";"
"{" |
| destructor_declaration |
"["
"extern"
"unsafe"
"~" |
| destructor_modifier |
"extern"
"unsafe" |
| destructor_prefix |
ø
"["
"extern"
"unsafe" |
| do_statement |
"do" |
| element_access |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| element_initializer |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"{"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| element_initializer_list |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"{"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| embedded_statement |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
";"
"@"
"async"
"await"
"base"
"bool"
"break"
"byte"
"char"
"checked"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"false"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"int"
"lock"
"long"
"new"
"null"
"object"
"return"
"sbyte"
"short"
"sizeof"
"string"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"while"
"yield"
"{"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| empty_statement |
";" |
| enum_base |
"byte"
"char"
"int"
"long"
"sbyte"
"short"
"uint"
"ulong"
"ushort" |
| enum_body |
"{" |
| enum_declaration |
"["
"enum"
"internal"
"new"
"private"
"protected"
"public" |
| enum_member_declaration |
"@"
"["
ANY_IDENTIFIER_EXCEPT_keyword |
| enum_member_declarations |
"@"
"["
ANY_IDENTIFIER_EXCEPT_keyword |
| enum_modifier |
"internal"
"new"
"private"
"protected"
"public" |
| enum_prefix |
ø
"["
"internal"
"new"
"private"
"protected"
"public" |
| enum_suffix |
ø
":" |
| enum_type |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| equality_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| event_accessor_declarations |
"["
"add"
"remove" |
| event_declaration |
"["
"abstract"
"event"
"extern"
"internal"
"new"
"override"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe"
"virtual" |
| event_modifier |
"abstract"
"extern"
"internal"
"new"
"override"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe"
"virtual" |
| event_prefix |
ø
"["
"abstract"
"extern"
"internal"
"new"
"override"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe"
"virtual" |
| event_suffix |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| exclusive_or_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| explicit_anonymous_method_parameter |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"out"
"ref"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| explicit_anonymous_method_parameter_list |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"out"
"ref"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| explicit_anonymous_method_signature |
"(" |
| explicit_parameter_modifier |
"out"
"ref" |
| exponent_part |
"E"
"e" |
| expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| expression_list |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| expression_statement |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| extern_alias_directive |
"extern" |
| extern_alias_directives |
"extern" |
| field_declaration |
"@"
"["
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"internal"
"long"
"new"
"object"
"private"
"protected"
"public"
"readonly"
"sbyte"
"short"
"static"
"string"
"uint"
"ulong"
"unsafe"
"ushort"
"void"
"volatile"
ANY_IDENTIFIER_EXCEPT_keyword |
| field_modifier |
"internal"
"new"
"private"
"protected"
"public"
"readonly"
"static"
"unsafe"
"volatile" |
| field_prefix |
ø
"["
"internal"
"new"
"private"
"protected"
"public"
"readonly"
"static"
"unsafe"
"volatile" |
| file_name |
'"' |
| file_name_character |
ANY_UNICODE_EXCEPT_u0022_new_line |
| finalizer_body |
";"
"{" |
| finalizer_declaration |
"["
"extern"
"unsafe"
"~" |
| finalizer_modifier |
"extern"
"unsafe" |
| finalizer_prefix |
ø
"["
"extern"
"unsafe" |
| finally_clause |
"finally" |
| fixed_parameter |
"@"
"["
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"out"
"ref"
"sbyte"
"short"
"string"
"this"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| fixed_pointer_declarator |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| fixed_pointer_declarators |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| fixed_pointer_initializer |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| fixed_size_buffer_declaration |
"["
"fixed"
"internal"
"new"
"private"
"protected"
"public"
"unsafe" |
| fixed_size_buffer_declarator |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| fixed_size_buffer_declarators |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| fixed_size_buffer_modifier |
"internal"
"new"
"private"
"protected"
"public"
"unsafe" |
| fixed_statement |
"fixed" |
| floating_point_type |
"double"
"float" |
| for_initializer |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"var"
"void"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| for_iterator |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| for_statement |
"for" |
| foreach_statement |
"foreach" |
| formal_parameter_list |
"@"
"["
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"out"
"params"
"ref"
"sbyte"
"short"
"string"
"this"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| formatting_character |
ANY_UNICODE_Cf
ANY_UXXXXXXXX_Cf
ANY_uXXXX_Cf |
| from_clause |
"from" |
| general_catch_clause |
"catch" |
| generic_dimension_specifier |
"<" |
| get_accessor_declaration |
"["
"get"
"internal"
"private"
"protected" |
| global_attribute_section |
"[" |
| global_attribute_target |
"assembly"
"module" |
| global_attribute_target_specifier |
"assembly"
"module" |
| global_attributes |
"[" |
| goto_label |
"@"
"case"
"default"
ANY_IDENTIFIER_EXCEPT_keyword |
| goto_statement |
"goto" |
| group_clause |
"group" |
| hex_digit |
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"A"
"B"
"C"
"D"
"E"
"F"
"a"
"b"
"c"
"d"
"e"
"f" |
| hex_digits |
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"A"
"B"
"C"
"D"
"E"
"F"
"a"
"b"
"c"
"d"
"e"
"f" |
| hexadecimal_escape_sequence |
"\x" |
| hexadecimal_integer_literal |
"0X"
"0x" |
| identifier |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| identifier_or_keyword |
"_"
ANY_UNICODE_Lu_Ll_Lt_Lm_Lo_Ni
ANY_UXXXXXXXX_Lu_Ll_Lt_Lm_Lo_Ni
ANY_uXXXX_Lu_Ll_Lt_Lm_Lo_Ni |
| identifier_part_character |
ANY_UNICODE_Cf
ANY_UNICODE_Lu_Ll_Lt_Lm_Lo_Ni
ANY_UNICODE_Mn_Mc
ANY_UNICODE_Nd
ANY_UNICODE_Pc
ANY_UXXXXXXXX_Cf
ANY_UXXXXXXXX_Lu_Ll_Lt_Lm_Lo_Ni
ANY_UXXXXXXXX_Mn_Mc
ANY_UXXXXXXXX_Nd
ANY_UXXXXXXXX_Pc
ANY_uXXXX_Cf
ANY_uXXXX_Lu_Ll_Lt_Lm_Lo_Ni
ANY_uXXXX_Mn_Mc
ANY_uXXXX_Nd
ANY_uXXXX_Pc |
| identifier_start_character |
"_"
ANY_UNICODE_Lu_Ll_Lt_Lm_Lo_Ni
ANY_UXXXXXXXX_Lu_Ll_Lt_Lm_Lo_Ni
ANY_uXXXX_Lu_Ll_Lt_Lm_Lo_Ni |
| if_statement |
"if" |
| implicit_anonymous_method_parameter |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| implicit_anonymous_method_parameter_list |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| implicit_anonymous_method_signature |
"("
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| inclusive_or_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| indexer_declaration |
"@"
"["
"abstract"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"extern"
"float"
"int"
"internal"
"long"
"new"
"object"
"override"
"private"
"protected"
"public"
"sbyte"
"sealed"
"short"
"string"
"uint"
"ulong"
"unsafe"
"ushort"
"virtual"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| indexer_declarator |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| indexer_modifier |
"abstract"
"extern"
"internal"
"new"
"override"
"private"
"protected"
"public"
"sealed"
"unsafe"
"virtual" |
| indexer_prefix |
ø
"["
"abstract"
"extern"
"internal"
"new"
"override"
"private"
"protected"
"public"
"sealed"
"unsafe"
"virtual" |
| initializer_value |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"{"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| input |
ø
"!"
"!="
"#"
"%"
"%="
"&"
"&&"
"&="
"'"
"("
")"
"*"
"*="
"+"
"++"
"+="
","
"-"
"--"
"-="
"->"
"."
"/"
"/*"
"//"
"/="
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
":"
"::"
";"
"<"
"<<"
"<<="
"<="
"="
"=="
"=>"
">"
">="
"?"
"??"
"@"
"["
"]"
"^"
"^="
"abstract"
"as"
"base"
"bool"
"break"
"byte"
"case"
"catch"
"char"
"checked"
"class"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"else"
"enum"
"event"
"explicit"
"extern"
"false"
"finally"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"implicit"
"in"
"int"
"interface"
"internal"
"is"
"lock"
"long"
"namespace"
"new"
"null"
"object"
"operator"
"out"
"override"
"params"
"private"
"protected"
"public"
"readonly"
"ref"
"return"
"sbyte"
"sealed"
"short"
"sizeof"
"stackalloc"
"static"
"string"
"struct"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"virtual"
"void"
"volatile"
"while"
"{"
"|"
"|="
"||"
"}"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| input_character |
ANY_UNICODE_EXCEPT_new_line |
| input_element |
"!"
"!="
"%"
"%="
"&"
"&&"
"&="
"'"
"("
")"
"*"
"*="
"+"
"++"
"+="
","
"-"
"--"
"-="
"->"
"."
"/"
"/*"
"//"
"/="
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
":"
"::"
";"
"<"
"<<"
"<<="
"<="
"="
"=="
"=>"
">"
">="
"?"
"??"
"@"
"["
"]"
"^"
"^="
"abstract"
"as"
"base"
"bool"
"break"
"byte"
"case"
"catch"
"char"
"checked"
"class"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"else"
"enum"
"event"
"explicit"
"extern"
"false"
"finally"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"implicit"
"in"
"int"
"interface"
"internal"
"is"
"lock"
"long"
"namespace"
"new"
"null"
"object"
"operator"
"out"
"override"
"params"
"private"
"protected"
"public"
"readonly"
"ref"
"return"
"sbyte"
"sealed"
"short"
"sizeof"
"stackalloc"
"static"
"string"
"struct"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"virtual"
"void"
"volatile"
"while"
"{"
"|"
"|="
"||"
"}"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| input_section |
"!"
"!="
"#"
"%"
"%="
"&"
"&&"
"&="
"'"
"("
")"
"*"
"*="
"+"
"++"
"+="
","
"-"
"--"
"-="
"->"
"."
"/"
"/*"
"//"
"/="
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
":"
"::"
";"
"<"
"<<"
"<<="
"<="
"="
"=="
"=>"
">"
">="
"?"
"??"
"@"
"["
"]"
"^"
"^="
"abstract"
"as"
"base"
"bool"
"break"
"byte"
"case"
"catch"
"char"
"checked"
"class"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"else"
"enum"
"event"
"explicit"
"extern"
"false"
"finally"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"implicit"
"in"
"int"
"interface"
"internal"
"is"
"lock"
"long"
"namespace"
"new"
"null"
"object"
"operator"
"out"
"override"
"params"
"private"
"protected"
"public"
"readonly"
"ref"
"return"
"sbyte"
"sealed"
"short"
"sizeof"
"stackalloc"
"static"
"string"
"struct"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"virtual"
"void"
"volatile"
"while"
"{"
"|"
"|="
"||"
"}"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| input_section_part |
"!"
"!="
"#"
"%"
"%="
"&"
"&&"
"&="
"'"
"("
")"
"*"
"*="
"+"
"++"
"+="
","
"-"
"--"
"-="
"->"
"."
"/"
"/*"
"//"
"/="
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
":"
"::"
";"
"<"
"<<"
"<<="
"<="
"="
"=="
"=>"
">"
">="
"?"
"??"
"@"
"["
"]"
"^"
"^="
"abstract"
"as"
"base"
"bool"
"break"
"byte"
"case"
"catch"
"char"
"checked"
"class"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"else"
"enum"
"event"
"explicit"
"extern"
"false"
"finally"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"implicit"
"in"
"int"
"interface"
"internal"
"is"
"lock"
"long"
"namespace"
"new"
"null"
"object"
"operator"
"out"
"override"
"params"
"private"
"protected"
"public"
"readonly"
"ref"
"return"
"sbyte"
"sealed"
"short"
"sizeof"
"stackalloc"
"static"
"string"
"struct"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"virtual"
"void"
"volatile"
"while"
"{"
"|"
"|="
"||"
"}"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| integer_literal |
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9" |
| integer_type_suffix |
"L"
"LU"
"Lu"
"U"
"UL"
"Ul"
"l"
"lU"
"lu"
"u"
"uL"
"ul" |
| integral_type |
"byte"
"char"
"int"
"long"
"sbyte"
"short"
"uint"
"ulong"
"ushort" |
| intercface_base |
":" |
| interface_accessor |
"["
"get"
"set" |
| interface_body |
"{" |
| interface_declaration |
"["
"interface"
"internal"
"new"
"partial"
"private"
"protected"
"public"
"unsafe" |
| interface_event_declaration |
"["
"event"
"new" |
| interface_get_accessor |
"["
"get" |
| interface_indexer_declaration |
"@"
"["
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"new"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| interface_member_delcaration |
"@"
"["
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"event"
"float"
"int"
"long"
"new"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| interface_method_declaration |
"@"
"["
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"new"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| interface_modifier |
"internal"
"new"
"private"
"protected"
"public"
"unsafe" |
| interface_prefix |
ø
"["
"internal"
"new"
"partial"
"private"
"protected"
"public"
"unsafe" |
| interface_property_declaration |
"@"
"["
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"new"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| interface_set_accessor |
"["
"set" |
| interface_suffix |
ø
":"
"<"
"where" |
| interface_type |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| interface_type_list |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| invocation_expression |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| iteration_statement |
"do"
"for"
"foreach"
"while" |
| join_clause |
"join" |
| join_into_clause |
"join" |
| jump_statement |
"break"
"continue"
"goto"
"return"
"throw" |
| keyword |
"abstract"
"as"
"base"
"bool"
"break"
"byte"
"case"
"catch"
"char"
"checked"
"class"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"else"
"enum"
"event"
"explicit"
"extern"
"false"
"finally"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"implicit"
"in"
"int"
"interface"
"internal"
"is"
"lock"
"long"
"namespace"
"new"
"null"
"object"
"operator"
"out"
"override"
"params"
"private"
"protected"
"public"
"readonly"
"ref"
"return"
"sbyte"
"sealed"
"short"
"sizeof"
"stackalloc"
"static"
"string"
"struct"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"virtual"
"void"
"volatile"
"while" |
| labeled_statement |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| lambda_expression |
"("
"@"
"async"
ANY_IDENTIFIER_EXCEPT_keyword |
| let_clause |
"let" |
| letter_character |
ANY_UNICODE_Lu_Ll_Lt_Lm_Lo_Ni
ANY_UXXXXXXXX_Lu_Ll_Lt_Lm_Lo_Ni
ANY_uXXXX_Lu_Ll_Lt_Lm_Lo_Ni |
| lexical_grammar |
ø
"!"
"!="
"#"
"%"
"%="
"&"
"&&"
"&="
"'"
"("
")"
"*"
"*="
"+"
"++"
"+="
","
"-"
"--"
"-="
"->"
"."
"/"
"/*"
"//"
"/="
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
":"
"::"
";"
"<"
"<<"
"<<="
"<="
"="
"=="
"=>"
">"
">="
"?"
"??"
"@"
"["
"]"
"^"
"^="
"abstract"
"as"
"base"
"bool"
"break"
"byte"
"case"
"catch"
"char"
"checked"
"class"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"else"
"enum"
"event"
"explicit"
"extern"
"false"
"finally"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"implicit"
"in"
"int"
"interface"
"internal"
"is"
"lock"
"long"
"namespace"
"new"
"null"
"object"
"operator"
"out"
"override"
"params"
"private"
"protected"
"public"
"readonly"
"ref"
"return"
"sbyte"
"sealed"
"short"
"sizeof"
"stackalloc"
"static"
"string"
"struct"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"virtual"
"void"
"volatile"
"while"
"{"
"|"
"|="
"||"
"}"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| line_indicator |
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"_"
"default"
"hidden"
ANY_UNICODE_Lu_Ll_Lt_Lm_Lo_Ni
ANY_UXXXXXXXX_Lu_Ll_Lt_Lm_Lo_Ni
ANY_uXXXX_Lu_Ll_Lt_Lm_Lo_Ni |
| literal |
"'"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"false"
"null"
"true"
'"'
'@"' |
| local_constant_declaration |
"const" |
| local_variable_declaration |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"var"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| local_variable_declarator |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| local_variable_initializer |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"stackalloc"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"{"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| local_variable_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"var"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| lock_statement |
"lock" |
| member_access |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| member_access_prefix |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| member_access_suffix |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| member_declarator |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| member_declarator_list |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| member_initializer |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| member_initializer_list |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| member_name |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| method_body |
";"
"{" |
| method_declaration |
"@"
"["
"abstract"
"async"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"extern"
"float"
"int"
"internal"
"long"
"new"
"object"
"override"
"partial"
"private"
"protected"
"public"
"sbyte"
"sealed"
"short"
"static"
"string"
"uint"
"ulong"
"unsafe"
"ushort"
"virtual"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| method_header |
"@"
"["
"abstract"
"async"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"extern"
"float"
"int"
"internal"
"long"
"new"
"object"
"override"
"partial"
"private"
"protected"
"public"
"sbyte"
"sealed"
"short"
"static"
"string"
"uint"
"ulong"
"unsafe"
"ushort"
"virtual"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| method_modifier |
"abstract"
"async"
"extern"
"internal"
"new"
"override"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe"
"virtual" |
| method_prefix |
ø
"["
"abstract"
"async"
"extern"
"internal"
"new"
"override"
"partial"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe"
"virtual" |
| multiplicative_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| named_argument |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| named_argument_list |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| namespace_body |
"{" |
| namespace_declaration |
"namespace" |
| namespace_member_declaration |
"["
"abstract"
"class"
"delegate"
"enum"
"interface"
"internal"
"namespace"
"new"
"partial"
"private"
"protected"
"public"
"sealed"
"static"
"struct"
"unsafe" |
| namespace_member_declarations |
"["
"abstract"
"class"
"delegate"
"enum"
"interface"
"internal"
"namespace"
"new"
"partial"
"private"
"protected"
"public"
"sealed"
"static"
"struct"
"unsafe" |
| namespace_name |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| namespace_or_type_name |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| namespace_or_type_name_part |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| namespace_or_type_name_prefix |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| new_line |
CR_u000D
LF_u000A
LS_u2028
NL_u0085
PS_u2029 |
| non_array_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| non_assignment_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| non_asterisk |
ANY_UNICODE_EXCEPT_u002A |
| non_nullable_value_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| non_slash |
ANY_UNICODE_EXCEPT_u002F |
| not_number_sign |
ANY_UNICODE_EXCEPT_u0023_new_line |
| null_coalescing_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| null_literal |
"null" |
| nullable_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| numeric_type |
"byte"
"char"
"decimal"
"double"
"float"
"int"
"long"
"sbyte"
"short"
"uint"
"ulong"
"ushort" |
| object_creation_expression |
"new" |
| object_initializer |
"{" |
| object_or_collection_initializer |
"{" |
| operator_body |
";"
"{" |
| operator_declaration |
"@"
"["
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"explicit"
"extern"
"float"
"implicit"
"int"
"long"
"object"
"public"
"sbyte"
"short"
"static"
"string"
"uint"
"ulong"
"unsafe"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| operator_declarator |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"explicit"
"float"
"implicit"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| operator_modifier |
"extern"
"public"
"static"
"unsafe" |
| operator_or_punctuation |
"!"
"!="
"%"
"%="
"&"
"&&"
"&="
"("
")"
"*"
"*="
"+"
"++"
"+="
","
"-"
"--"
"-="
"->"
"."
"/"
"/="
":"
"::"
";"
"<"
"<<"
"<<="
"<="
"="
"=="
"=>"
">"
">="
"?"
"??"
"["
"]"
"^"
"^="
"{"
"|"
"|="
"||"
"}"
"~" |
| operator_prefix |
ø
"["
"extern"
"public"
"static"
"unsafe" |
| orderby_clause |
"orderby" |
| ordering |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| ordering_direction |
"ascending"
"descending" |
| overloadable_binary_operator |
"!="
"%"
"&"
"*"
"+"
"-"
"/"
"<"
"<<"
"<="
"=="
">"
">="
"^"
"|" |
| overloadable_unary_operator |
"!"
"+"
"++"
"-"
"--"
"false"
"true"
"~" |
| parameter_array |
"["
"params" |
| parameter_modifier |
"out"
"ref"
"this" |
| parameter_prefix |
ø
"["
"out"
"ref"
"this" |
| parenthesized_expression |
"(" |
| pointer_element_expression |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| pointer_indirection_expression |
"*" |
| pointer_member_expression |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| pointer_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| positional_argument |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| positional_argument_list |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"out"
"ref"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| post_decrement_expression |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| post_increment_expression |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| pp_and_expression |
"!"
"("
"@"
"false"
"true"
ANY_IDENTIFIER_EXCEPT_keyword
ANY_keyword_EXCEPT_true_false |
| pp_conditional |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_declaration |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_diagnostic |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_directive |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_elif_section |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_else_section |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_end_region |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_endif |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_equality_expression |
"!"
"("
"@"
"false"
"true"
ANY_IDENTIFIER_EXCEPT_keyword
ANY_keyword_EXCEPT_true_false |
| pp_expression |
"!"
"("
"@"
"false"
"true"
ANY_IDENTIFIER_EXCEPT_keyword
ANY_UNICODE_Zs_CHAR
ANY_keyword_EXCEPT_true_false
FF_u000C
HT_u0009
VT_u000B |
| pp_if_section |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_line |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_message |
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| pp_new_line |
"//"
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| pp_or_expression |
"!"
"("
"@"
"false"
"true"
ANY_IDENTIFIER_EXCEPT_keyword
ANY_keyword_EXCEPT_true_false |
| pp_pragma |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_pragma_body |
ø
"warning"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_pragma_text |
ø
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_pragma_warning_action |
"disable"
"restore" |
| pp_pragma_warning_body |
"warning" |
| pp_pragma_warning_list |
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9" |
| pp_primary_expression |
"("
"@"
"false"
"true"
ANY_IDENTIFIER_EXCEPT_keyword
ANY_keyword_EXCEPT_true_false |
| pp_region |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_start_region |
"#"
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| pp_unnary_expression |
"!"
"("
"@"
"false"
"true"
ANY_IDENTIFIER_EXCEPT_keyword
ANY_keyword_EXCEPT_true_false |
| pre_decrement_expression |
"--" |
| pre_increment_expression |
"++" |
| predefined_type |
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort" |
| primary_constraint |
"@"
"class"
"dynamic"
"object"
"string"
"struct"
ANY_IDENTIFIER_EXCEPT_keyword |
| primary_expression |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| primary_no_array_creation_expression |
"'"
"("
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| property_declaration |
"@"
"["
"abstract"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"extern"
"float"
"int"
"internal"
"long"
"new"
"object"
"override"
"private"
"protected"
"public"
"sbyte"
"sealed"
"short"
"static"
"string"
"uint"
"ulong"
"unsafe"
"ushort"
"virtual"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| property_modifier |
"abstract"
"extern"
"internal"
"new"
"override"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe"
"virtual" |
| property_prefix |
ø
"["
"abstract"
"extern"
"internal"
"new"
"override"
"private"
"protected"
"public"
"sealed"
"static"
"unsafe"
"virtual" |
| qualified_alias_member |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| qualified_identifier |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| query_body |
"from"
"group"
"join"
"let"
"orderby"
"select"
"where" |
| query_body_clause |
"from"
"join"
"let"
"orderby"
"where" |
| query_continuation |
"into" |
| query_expression |
"from" |
| quote_excape_sequence |
'""' |
| rank_specifier |
"[" |
| real_literal |
"."
"0"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9" |
| real_type_suffix |
"D"
"F"
"M"
"d"
"f"
"m" |
| reference_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| regular_string_literal |
'"' |
| regular_string_literal_character |
"\'"
"\0"
"\U"
"\\"
"\a"
"\b"
"\f"
"\n"
"\r"
"\t"
"\u"
"\v"
"\x"
'\"'
ANY_UNICODE_EXCEPT_u0022_u005C_new_line |
| relation_or_type_check |
"<"
"<="
">"
">="
"as"
"is" |
| relational_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| remove_accessor_declaration |
"["
"remove" |
| resource_acquisition |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"var"
"void"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| return_statement |
"return" |
| return_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| right_shift |
">" |
| right_shift_assignment |
">" |
| secondary_constraint |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| select_clause |
"select" |
| select_or_group_clause |
"group"
"select" |
| selection_statement |
"if"
"switch" |
| set_accessor_declaration |
"["
"internal"
"private"
"protected"
"set" |
| shift_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| sign |
"+"
"-" |
| simple_escape_sequence |
"\'"
"\0"
"\\"
"\a"
"\b"
"\f"
"\n"
"\r"
"\t"
"\v"
'\"' |
| simple_name |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| simple_type |
"bool"
"byte"
"char"
"decimal"
"double"
"float"
"int"
"long"
"sbyte"
"short"
"uint"
"ulong"
"ushort" |
| single_character |
ANY_UNICODE_EXCEPT_u0027_u005C_new_line |
| single_line_comment |
"//" |
| single_regular_string_literal_character |
ANY_UNICODE_EXCEPT_u0022_u005C_new_line |
| single_verbatim_string_literal_character |
ANY_UNICODE_EXCEPT_u0022 |
| sizeof_expression |
"sizeof" |
| skipped_characters |
ANY_UNICODE_EXCEPT_u0023_new_line |
| skipped_section |
"#"
ANY_UNICODE_EXCEPT_u0023_new_line
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| skipped_section_part |
"#"
ANY_UNICODE_EXCEPT_u0023_new_line
ANY_UNICODE_Zs_CHAR
CR_u000D
FF_u000C
HT_u0009
LF_u000A
LS_u2028
NL_u0085
PS_u2029
VT_u000B |
| specific_catch_clause |
"catch" |
| specific_catch_clauses |
"catch" |
| stackalloc_initializer |
"stackalloc" |
| statement |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
";"
"@"
"async"
"await"
"base"
"bool"
"break"
"byte"
"char"
"checked"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"false"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"int"
"lock"
"long"
"new"
"null"
"object"
"return"
"sbyte"
"short"
"sizeof"
"string"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"var"
"void"
"while"
"yield"
"{"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| statement_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| statement_expression_list |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| static_constructor_body |
";"
"{" |
| static_constructor_declaration |
"["
"extern"
"static"
"unsafe" |
| static_constructor_modifier |
"extern"
"static"
"unsafe" |
| static_constructor_prefix |
"["
"extern"
"static"
"unsafe" |
| string_literal |
'"'
'@"' |
| struct_body |
"{" |
| struct_declaration |
"["
"internal"
"new"
"partial"
"private"
"protected"
"public"
"struct"
"unsafe" |
| struct_intercfaces |
":" |
| struct_member_declaration |
"@"
"["
"abstract"
"async"
"bool"
"byte"
"char"
"class"
"decimal"
"delegate"
"double"
"dynamic"
"enum"
"event"
"explicit"
"extern"
"fixed"
"float"
"implicit"
"int"
"interface"
"internal"
"long"
"new"
"object"
"override"
"partial"
"private"
"protected"
"public"
"readonly"
"sbyte"
"sealed"
"short"
"static"
"string"
"struct"
"uint"
"ulong"
"unsafe"
"ushort"
"virtual"
"void"
"volatile"
ANY_IDENTIFIER_EXCEPT_keyword |
| struct_modifier |
"internal"
"new"
"private"
"protected"
"public"
"unsafe" |
| struct_prefix |
ø
"["
"internal"
"new"
"partial"
"private"
"protected"
"public"
"unsafe" |
| struct_suffix |
ø
":"
"<"
"where" |
| struct_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| switch_block |
"{" |
| switch_label |
"case"
"default" |
| switch_section |
"case"
"default" |
| switch_statement |
"switch" |
| syntactic_grammar |
ø
"["
"abstract"
"class"
"delegate"
"enum"
"extern"
"interface"
"internal"
"namespace"
"new"
"partial"
"private"
"protected"
"public"
"sealed"
"static"
"struct"
"unsafe"
"using" |
| this_access |
"this" |
| throw_statement |
"throw" |
| token |
"!"
"!="
"%"
"%="
"&"
"&&"
"&="
"'"
"("
")"
"*"
"*="
"+"
"++"
"+="
","
"-"
"--"
"-="
"->"
"."
"/"
"/="
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
":"
"::"
";"
"<"
"<<"
"<<="
"<="
"="
"=="
"=>"
">"
">="
"?"
"??"
"@"
"["
"]"
"^"
"^="
"abstract"
"as"
"base"
"bool"
"break"
"byte"
"case"
"catch"
"char"
"checked"
"class"
"const"
"continue"
"decimal"
"default"
"delegate"
"do"
"double"
"dynamic"
"else"
"enum"
"event"
"explicit"
"extern"
"false"
"finally"
"fixed"
"float"
"for"
"foreach"
"goto"
"if"
"implicit"
"in"
"int"
"interface"
"internal"
"is"
"lock"
"long"
"namespace"
"new"
"null"
"object"
"operator"
"out"
"override"
"params"
"private"
"protected"
"public"
"readonly"
"ref"
"return"
"sbyte"
"sealed"
"short"
"sizeof"
"stackalloc"
"static"
"string"
"struct"
"switch"
"this"
"throw"
"true"
"try"
"typeof"
"uint"
"ulong"
"unchecked"
"unsafe"
"ushort"
"using"
"virtual"
"void"
"volatile"
"while"
"{"
"|"
"|="
"||"
"}"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| try_statement |
"try" |
| try_suffix |
"catch"
"finally" |
| type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| type_argument |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| type_argument_list |
"<" |
| type_arguments |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| type_declaration |
"["
"abstract"
"class"
"delegate"
"enum"
"interface"
"internal"
"new"
"partial"
"private"
"protected"
"public"
"sealed"
"static"
"struct"
"unsafe" |
| type_name |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| type_parameter |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| type_parameter_constraints |
"@"
"class"
"dynamic"
"new"
"object"
"string"
"struct"
ANY_IDENTIFIER_EXCEPT_keyword |
| type_parameter_constraints_clause |
"where" |
| type_parameter_constraints_clauses |
"where" |
| type_parameter_list |
"<" |
| type_parameters |
"@"
"["
ANY_IDENTIFIER_EXCEPT_keyword |
| typeof_argument |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| typeof_expression |
"typeof" |
| unary_expression |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| unary_operator_declarator |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| unbound_type_name |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| unbound_type_name_prefix |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| unchecked_expression |
"unchecked" |
| unchecked_statement |
"unchecked" |
| unicode_escape_sequence |
"\U"
"\u" |
| unmanaged_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| using_alias_directive |
"using" |
| using_directive |
"using" |
| using_directives |
"using" |
| using_namespace_directive |
"using" |
| using_statement |
"using" |
| value_type |
"@"
"bool"
"byte"
"char"
"decimal"
"double"
"dynamic"
"float"
"int"
"long"
"object"
"sbyte"
"short"
"string"
"uint"
"ulong"
"ushort"
"void"
ANY_IDENTIFIER_EXCEPT_keyword |
| variable_declarator |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| variable_declarators |
"@"
ANY_IDENTIFIER_EXCEPT_keyword |
| variable_initializer |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"{"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| variable_initializer_list |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"{"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| variable_reference |
"!"
"&"
"'"
"("
"*"
"+"
"++"
"-"
"--"
"."
"0"
"0X"
"0x"
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"@"
"async"
"await"
"base"
"bool"
"byte"
"char"
"checked"
"decimal"
"default"
"delegate"
"double"
"dynamic"
"false"
"float"
"from"
"int"
"long"
"new"
"null"
"object"
"sbyte"
"short"
"sizeof"
"string"
"this"
"true"
"typeof"
"uint"
"ulong"
"unchecked"
"ushort"
"~"
'"'
'@"'
ANY_IDENTIFIER_EXCEPT_keyword |
| variance_annotation |
"in"
"out" |
| variant_prefix |
ø
"["
"in"
"out" |
| variant_type_parameter_list |
"<" |
| variant_type_parameters |
"@"
"["
"in"
"out"
ANY_IDENTIFIER_EXCEPT_keyword |
| verbatim_string_literal |
'@"' |
| verbatim_string_literal_character |
'""'
ANY_UNICODE_EXCEPT_u0022 |
| where_clause |
"where" |
| while_statement |
"while" |
| whitespace |
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| whitespace_character |
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| ws |
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| ws_opt |
ø
ANY_UNICODE_Zs_CHAR
FF_u000C
HT_u0009
VT_u000B |
| yield_statement |
"yield" |
| yield_suffix |
"break"
"return" |