소스 검색

feat: add _Generic expressions and missing type qualifiers

_Generic is a C11 feature, __restrict__ and _Noreturn were added to type_qualifiers
pull/137/head
Amaan Qureshi 3 년 전
부모
커밋
20fee37fd0
No known key found for this signature in database GPG 키 ID: E67890ADC4227273
1개의 변경된 파일12개의 추가작업 그리고 0개의 파일을 삭제
  1. +12
    -0
      grammar.js

+ 12
- 0
grammar.js 파일 보기

@ -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),
'[',

불러오는 중...
취소
저장