brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · ccd2b00 Raw
62 lines · plain
1(* Data Inspection Language (DIL) definition - LLDB Debug Expressions *)2 3(* This is currently a subset of the final DIL Language, matching the current4   DIL implementation. *)5 6expression = unary_expression ;7 8unary_expression = postfix_expression9                 | unary_operator expression ;10 11unary_operator = "*" | "&" | "+" | "-";12 13postfix_expression = primary_expression14                   | postfix_expression "[" integer_literal "]"15                   | postfix_expression "." id_expression16                   | postfix_expression "->" id_expression ;17 18primary_expression = numeric_literal19                   | boolean_literal20                   | id_expression21                   | "(" expression ")" ;22 23id_expression = unqualified_id24              | qualified_id25              | register ;26 27unqualified_id = identifier ;28 29qualified_id = ["::"] [nested_name_specifier] unqualified_id30             | ["::"] identifier ;31 32identifier = ? C99 Identifier ? ;33 34integer_literal = ? Integer constant: hexademical, decimal, octal, binary ? ;35 36numeric_literal = ? Integer constant: hexademical, decimal, octal, binary ?37                | ? Floating constant ? ;38 39boolean_literal = "true" | "false" ;40 41register = "$" ? Register name ? ;42 43nested_name_specifier = type_name "::"44                      | namespace_name '::'45                      | nested_name_specifier identifier "::" ;46 47type_name = class_name48          | enum_name49          | typedef_name;50 51class_name = identifier ;52 53enum_name = identifier ;54 55typedef_name = identifier ;56 57namespace_name = identifier ;58 59 60 61 62