@willbooster/tree-sitter-c 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/grammar.js CHANGED
@@ -329,12 +329,15 @@ module.exports = Object.assign(
329
329
 
330
330
  ms_unaligned_ptr_modifier: () => choice('_unaligned', '__unaligned'),
331
331
 
332
+ ms_pointer_size_modifier: () => choice('__ptr32', '__ptr64'),
333
+
332
334
  ms_pointer_modifier: ($) =>
333
335
  choice(
334
336
  $.ms_unaligned_ptr_modifier,
335
337
  $.ms_restrict_modifier,
336
338
  $.ms_unsigned_ptr_modifier,
337
- $.ms_signed_ptr_modifier
339
+ $.ms_signed_ptr_modifier,
340
+ $.ms_pointer_size_modifier
338
341
  ),
339
342
 
340
343
  declaration_list: ($) => seq('{', repeat($._block_item), '}'),
@@ -856,7 +859,8 @@ module.exports = Object.assign(
856
859
  $.char_literal,
857
860
  $.parenthesized_expression,
858
861
  $.gnu_asm_expression,
859
- $.extension_expression
862
+ $.extension_expression,
863
+ $.builtin_available_expression
860
864
  ),
861
865
 
862
866
  _string: ($) => prec.left(choice($.string_literal, $.concatenated_string)),
@@ -989,6 +993,13 @@ module.exports = Object.assign(
989
993
  call_expression: ($) =>
990
994
  prec(PREC.CALL, seq(field('function', $.expression), field('arguments', $.argument_list))),
991
995
 
996
+ builtin_available_expression: ($) =>
997
+ seq('__builtin_available', '(', commaSep1(choice($.platform_version, '*')), ')'),
998
+
999
+ platform_version: ($) => seq(field('platform', $.identifier), field('version', $.version_number)),
1000
+
1001
+ version_number: () => /\d+(\.\d+){0,2}/,
1002
+
992
1003
  gnu_asm_expression: ($) =>
993
1004
  prec(
994
1005
  PREC.CALL,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@willbooster/tree-sitter-c",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "C grammar for tree-sitter",
5
5
  "keywords": [
6
6
  "incremental",
@@ -131,6 +131,10 @@
131
131
  "type": "binary_expression",
132
132
  "named": true
133
133
  },
134
+ {
135
+ "type": "builtin_available_expression",
136
+ "named": true
137
+ },
134
138
  {
135
139
  "type": "call_expression",
136
140
  "named": true
@@ -890,6 +894,21 @@
890
894
  "named": true,
891
895
  "fields": {}
892
896
  },
897
+ {
898
+ "type": "builtin_available_expression",
899
+ "named": true,
900
+ "fields": {},
901
+ "children": {
902
+ "multiple": true,
903
+ "required": false,
904
+ "types": [
905
+ {
906
+ "type": "platform_version",
907
+ "named": true
908
+ }
909
+ ]
910
+ }
911
+ },
893
912
  {
894
913
  "type": "call_expression",
895
914
  "named": true,
@@ -2399,6 +2418,10 @@
2399
2418
  "multiple": false,
2400
2419
  "required": true,
2401
2420
  "types": [
2421
+ {
2422
+ "type": "ms_pointer_size_modifier",
2423
+ "named": true
2424
+ },
2402
2425
  {
2403
2426
  "type": "ms_restrict_modifier",
2404
2427
  "named": true
@@ -2418,6 +2441,11 @@
2418
2441
  ]
2419
2442
  }
2420
2443
  },
2444
+ {
2445
+ "type": "ms_pointer_size_modifier",
2446
+ "named": true,
2447
+ "fields": {}
2448
+ },
2421
2449
  {
2422
2450
  "type": "ms_unaligned_ptr_modifier",
2423
2451
  "named": true,
@@ -2591,6 +2619,32 @@
2591
2619
  ]
2592
2620
  }
2593
2621
  },
2622
+ {
2623
+ "type": "platform_version",
2624
+ "named": true,
2625
+ "fields": {
2626
+ "platform": {
2627
+ "multiple": false,
2628
+ "required": true,
2629
+ "types": [
2630
+ {
2631
+ "type": "identifier",
2632
+ "named": true
2633
+ }
2634
+ ]
2635
+ },
2636
+ "version": {
2637
+ "multiple": false,
2638
+ "required": true,
2639
+ "types": [
2640
+ {
2641
+ "type": "version_number",
2642
+ "named": true
2643
+ }
2644
+ ]
2645
+ }
2646
+ }
2647
+ },
2594
2648
  {
2595
2649
  "type": "pointer_declarator",
2596
2650
  "named": true,
@@ -4267,6 +4321,10 @@
4267
4321
  "type": "__based",
4268
4322
  "named": false
4269
4323
  },
4324
+ {
4325
+ "type": "__builtin_available",
4326
+ "named": false
4327
+ },
4270
4328
  {
4271
4329
  "type": "__cdecl",
4272
4330
  "named": false
@@ -4311,6 +4369,14 @@
4311
4369
  "type": "__leave",
4312
4370
  "named": false
4313
4371
  },
4372
+ {
4373
+ "type": "__ptr32",
4374
+ "named": false
4375
+ },
4376
+ {
4377
+ "type": "__ptr64",
4378
+ "named": false
4379
+ },
4314
4380
  {
4315
4381
  "type": "__restrict__",
4316
4382
  "named": false
@@ -4584,6 +4650,10 @@
4584
4650
  "type": "unsigned",
4585
4651
  "named": false
4586
4652
  },
4653
+ {
4654
+ "type": "version_number",
4655
+ "named": true
4656
+ },
4587
4657
  {
4588
4658
  "type": "volatile",
4589
4659
  "named": false
Binary file
package/tree-sitter.json CHANGED
@@ -16,7 +16,7 @@
16
16
  }
17
17
  ],
18
18
  "metadata": {
19
- "version": "1.0.1",
19
+ "version": "1.1.0",
20
20
  "license": "MIT",
21
21
  "description": "C grammar for tree-sitter",
22
22
  "authors": [