======================================= integer literals ======================================= const int dec = 1_2; const long hex = 0xf_1l; const long hex2 = 0Xffff; const UInt64 dec = 1uL; const UInt16 bin = 0b0100_100; const UInt16 bin2 = 0B01010__10; --- (compilation_unit (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (integer_literal))))) (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (integer_literal))))) (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (integer_literal))))) (field_declaration (modifier) (variable_declaration (identifier) (variable_declarator (identifier) (equals_value_clause (integer_literal))))) (field_declaration (modifier) (variable_declaration (identifier) (variable_declarator (identifier) (equals_value_clause (integer_literal))))) (field_declaration (modifier) (variable_declaration (identifier) (variable_declarator (identifier) (equals_value_clause (integer_literal)))))) ======================================= boolean literals ======================================= const bool t = true, u = false; --- (compilation_unit (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (boolean_literal))) (variable_declarator (identifier) (equals_value_clause (boolean_literal)))))) ======================================= char literals ======================================= const char c = 'a'; const char esc = '\n'; const char hex = '\xf09a'; const char uni16 = '\ua0bf'; const char uni32 = '\UA0BFf9ca'; --- (compilation_unit (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (character_literal))))) (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (character_literal (escape_sequence)))))) (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (character_literal (escape_sequence)))))) (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (character_literal (escape_sequence)))))) (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (character_literal (escape_sequence))))))) ======================================= real literals ======================================= const float s = 012.23F; const float e = 1e6f; const Single en = 0e-1f; const Single ep = 1_1e+12f; const double d = 0.9_9d; const decimal m = 0_1_2.9m; const Decimal m2 = 102.349M; --- (compilation_unit (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (real_literal))))) (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (real_literal))))) (field_declaration (modifier) (variable_declaration (identifier) (variable_declarator (identifier) (equals_value_clause (real_literal))))) (field_declaration (modifier) (variable_declaration (identifier) (variable_declarator (identifier) (equals_value_clause (real_literal))))) (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (real_literal))))) (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (real_literal))))) (field_declaration (modifier) (variable_declaration (identifier) (variable_declarator (identifier) (equals_value_clause (real_literal)))))) ======================================= null literals ======================================= const string x = null; --- (compilation_unit (field_declaration (modifier) (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (null_literal)))))) ======================================= string literals ======================================= class A { String e = ""; string s = "a"; string m = "abc"; string esc = "ab\"\t"; string hex = "ab\x22r"; string hex2 = "\x22r\x00"; string u16 = "\ub0d0ok"; string u32 = "\uF1D20ff0test"; string ve = @""; string v = @"abcde\ef"; string quotes = @""; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (identifier) (variable_declarator (identifier) (equals_value_clause (string_literal))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (string_literal))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (string_literal))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (string_literal (escape_sequence) (escape_sequence)))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (string_literal (escape_sequence)))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (string_literal (escape_sequence) (escape_sequence)))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (string_literal (escape_sequence)))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (string_literal (escape_sequence)))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (verbatim_string_literal))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (verbatim_string_literal))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (verbatim_string_literal)))))))) ================================================== string literals containing the line comment token ================================================== class A { string s = "//\n//"; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (string_literal (escape_sequence))))))))) ================================================== interpolated string literals ================================================== class A { string s = $"hello"; string esc = $"ab\"\t"; string double = $"{{nope}}"; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_string_text)))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_string_text) (interpolated_string_text (escape_sequence)) (interpolated_string_text (escape_sequence))))))) (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_string_text) (interpolated_string_text))))))))) ================================================== interpolated string literals with expressions ================================================== class A { string s = $"hello {name}, how are you?"; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_string_text) (interpolation (identifier)) (interpolated_string_text))))))))) ================================================== interpolated string literals with formatted expressions ================================================== class A { string s = $"hello {name:0.00}, how are you?"; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_string_text) (interpolation (identifier) (interpolation_format_clause)) (interpolated_string_text))))))))) ================================================== interpolated string literals with alignment expressions ================================================== class A { string s = $"hello {name,25}, how are you?"; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_string_text) (interpolation (identifier) (interpolation_alignment_clause (integer_literal))) (interpolated_string_text))))))))) ================================================== interpolated verbatim string literals ================================================== class A { string s = $@"hello"; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_verbatim_string_text))))))))) ================================================== interpolated verbatim string literals with expressions ================================================== class A { string s = $@"hello {name}, how are you?"; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_verbatim_string_text) (interpolation (identifier)) (interpolated_verbatim_string_text))))))))) ================================================== interpolated verbatim string literals with formatted expressions ================================================== class A { string s = $@"hello {name:g}, how are you?"; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_verbatim_string_text) (interpolation (identifier) (interpolation_format_clause)) (interpolated_verbatim_string_text))))))))) ================================================== interpolated verbatim string literals with alignment expressions ================================================== class A { string s = $@"hello {name,-10}, how are you?"; } --- (compilation_unit (class_declaration (identifier) (declaration_list (field_declaration (variable_declaration (predefined_type) (variable_declarator (identifier) (equals_value_clause (interpolated_string_expression (interpolated_verbatim_string_text) (interpolation (identifier) (interpolation_alignment_clause (prefix_unary_expression (integer_literal)))) (interpolated_verbatim_string_text)))))))))