=======================================
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 = @"<TestClass xmlns=""http://example.com/omg"" xmlns:i=""http://www.w3.org/2001/XMLSchema-instance""></TestClass>";
}
---
(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)))))))))