|
|
|
@ -475,7 +475,9 @@ module.exports = grammar({ |
|
|
|
'const', |
|
|
|
'volatile', |
|
|
|
'restrict', |
|
|
|
'__restrict__', |
|
|
|
'_Atomic', |
|
|
|
'_Noreturn', |
|
|
|
), |
|
|
|
|
|
|
|
_type_specifier: $ => choice( |
|
|
|
@ -736,6 +738,7 @@ module.exports = grammar({ |
|
|
|
$.cast_expression, |
|
|
|
$.pointer_expression, |
|
|
|
$.sizeof_expression, |
|
|
|
$.generic_expression, |
|
|
|
$.subscript_expression, |
|
|
|
$.call_expression, |
|
|
|
$.field_expression, |
|
|
|
@ -865,6 +868,15 @@ module.exports = grammar({ |
|
|
|
), |
|
|
|
)), |
|
|
|
|
|
|
|
generic_expression: $ => prec(PREC.CALL, seq( |
|
|
|
'_Generic', |
|
|
|
'(', |
|
|
|
$._expression, |
|
|
|
',', |
|
|
|
commaSep1(seq($.type_descriptor, ':', $._expression)), |
|
|
|
')', |
|
|
|
)), |
|
|
|
|
|
|
|
subscript_expression: $ => prec(PREC.SUBSCRIPT, seq( |
|
|
|
field('argument', $._expression), |
|
|
|
'[', |
|
|
|
|