blob: c8bf4231b3e4a0e2ee708332a012888f420d68dd [file] [log] [blame]
cmtice46e2c072025-04-03 21:39:30 -07001(* Data Inspection Language (DIL) definition - LLDB Debug Expressions *)
2
3(* This is currently a subset of the final DIL Language, matching the current
4 DIL implementation. *)
5
Ilia Kuklind6370382025-04-29 21:29:52 +05006expression = unary_expression ;
7
8unary_expression = unary_operator expression
9 | primary_expression ;
10
11unary_operator = "*" | "&" ;
cmtice46e2c072025-04-03 21:39:30 -070012
13primary_expression = id_expression
14 | "(" expression ")";
15
16id_expression = unqualified_id
17 | qualified_id
18 | register ;
19
20unqualified_id = identifier ;
21
22qualified_id = ["::"] [nested_name_specifier] unqualified_id
23 | ["::"] identifier ;
24
25identifier = ? C99 Identifier ? ;
26
27register = "$" ? Register name ? ;
28
29nested_name_specifier = type_name "::"
30 | namespace_name '::'
31 | nested_name_specifier identifier "::" ;
32
33type_name = class_name
34 | enum_name
35 | typedef_name;
36
37class_name = identifier ;
38
39enum_name = identifier ;
40
41typedef_name = identifier ;
42
43namespace_name = identifier ;
44
45
46
47