github.com/gotranspile/cxgo@v0.3.7/examples/tree-sitter/cxgo.yml (about)

     1  vcs: https://github.com/tree-sitter/tree-sitter.git
     2  branch: '0.18.0'
     3  root: ./lib
     4  out: ../../.examples/tree-sitter-go
     5  package: gositter
     6  int_size: 8
     7  ptr_size: 8
     8  use_go_int: true
     9  define:
    10    - name: ts_malloc_default
    11      value: malloc
    12    - name: ts_malloc
    13      value: malloc
    14    - name: ts_calloc_default
    15      value: calloc
    16    - name: ts_calloc
    17      value: calloc
    18    - name: ts_realloc_default
    19      value: realloc
    20    - name: ts_realloc
    21      value: realloc
    22    - name: ts_free_default
    23      value: free
    24    - name: ts_free
    25      value: free
    26    - name: TREE_SITTER_ARRAY_H_ # we replace it with our own array operations
    27  idents:
    28    - name: TSLanguage
    29      fields:
    30        - name: symbol_names
    31          type: slice
    32        - name: symbol_metadata
    33          type: slice
    34        - name: parse_table
    35          type: slice
    36        - name: parse_actions
    37          type: slice
    38        - name: lex_modes
    39          type: slice
    40        - name: alias_sequences
    41          type: slice
    42        - name: external_scanner
    43          fields:
    44            - name: states
    45              type: slice
    46            - name: symbol_map
    47              type: slice
    48        - name: field_map_slices
    49          type: slice
    50        - name: field_map_entries
    51          type: slice
    52        - name: field_names
    53          type: slice
    54        - name: small_parse_table
    55          type: slice
    56        - name: small_parse_table_map
    57          type: slice
    58        - name: public_symbol_map
    59          type: slice
    60        - name: alias_map
    61          type: slice
    62    - name: TSTree
    63      fields:
    64        - name: included_ranges
    65          type: slice
    66    - name: ts_tree_new
    67      fields:
    68        - name: root
    69        - name: language
    70        - name: included_ranges
    71          type: slice
    72        - name: included_range_count
    73    - name: ts_range_array_get_changed_ranges
    74      fields:
    75        - name: old_ranges
    76          type: slice
    77        - name: old_range_count
    78        - name: new_ranges
    79          type: slice
    80        - name: new_range_count
    81        - name: differences
    82    - name: TSRangeArray
    83      fields:
    84        - name: contents
    85          type: slice
    86    - name: SubtreeArray
    87      fields:
    88        - name: contents
    89          type: slice
    90    - name: MutableSubtreeArray
    91      fields:
    92        - name: contents
    93          type: slice
    94    - name: TreeCursor
    95      fields:
    96        - name: stack
    97          fields:
    98            - name: contents
    99              type: slice
   100    - name: CursorChildIterator
   101      fields:
   102        - name: alias_sequence
   103          type: slice
   104    - name: TableEntry
   105      fields:
   106        - name: actions
   107          type: slice
   108    - name: LookaheadIterator
   109      fields:
   110        - name: data
   111          type: slice
   112        - name: actions
   113          type: slice
   114  replace:
   115    - old: 'len_('
   116      new: 'len('
   117  predef: |
   118    #include <string.h>
   119    #include <stdlib.h>
   120    #include <stdint.h>
   121    #include <assert.h>
   122    #include <stdbool.h>
   123    #define Array(T) struct { T *contents; int size; int capacity; }
   124    void array_init(void* a);
   125    #define array_new() {0}
   126    #define array_get(a, i) (&(a)->contents[i])
   127    int len(void* a);
   128    void array_clear(void* a);
   129    void array_reserve(void* a, int n);
   130    void array_delete(void* a);
   131    void array_push(void* a, void* el);
   132    void array_grow_by(void* a, int n);
   133    void array_push_all(void* a, void* b);
   134    void array_extend(void* a, int n, void* b);
   135    void array_splice(void* a, int i, int oldN, int newN, void* b);
   136    void array_insert(void* a, int i, void* b);
   137    void array_erase(void* a, int i);
   138    #define array_pop(a) ((a)->contents[--(a)->size])
   139    void array_assign(void* a, void* b);
   140    void array_swap(void* a, void* b);
   141    void array__search_sorted_go(void* s, int s, void* cmp, void* f, void* b, int* i, bool* exists);
   142    #define array_front(self) (&(self)->contents[0])
   143    #define array_back(self) (&(self)->contents[len(self) - 1])
   144    int _compare_int(int* a, int b) { return ((int)*(a) - (int)(b)); }
   145    void array_insert_sorted_with(void* a, void* cmp, void* val);
   146    #define array__search_sorted(self, start, compare, suffix, needle, index, exists) \
   147      array__search_sorted_go(self, start, compare, &((self)->contents[0] suffix), needle, index, exists)
   148    #define array_search_sorted_by(self, field, needle, index, exists) \
   149            array__search_sorted(self, 0, _compare_int, field, needle, index, exists)
   150    #define array_insert_sorted_by(self, field, value) \
   151      do { \
   152        unsigned index, exists; \
   153        array_search_sorted_by(self, field, (value) field, &index, &exists); \
   154        if (!exists) array_insert(self, index, value); \
   155      } while (0)
   156    #define array_search_sorted_with(self, compare, needle, index, exists) \
   157      array__search_sorted(self, 0, compare, , needle, index, exists)
   158  files:
   159    - name: ./src/language.c
   160    - name: ./src/lexer.c
   161    - name: ./src/node.c
   162    - name: ./src/parser.c
   163    - name: ./src/query.c
   164    - name: ./src/stack.c
   165    - name: ./src/subtree.c
   166    - name: ./src/tree_cursor.c
   167    - name: ./src/tree.c
   168    - name: ./src/get_changed_ranges.c
   169    - name: ./src/length.h
   170    - name: ./src/point.h
   171    - name: ./include/tree_sitter/api.h
   172      skip:
   173        - TSParser
   174        - TSTree
   175        - TSQuery
   176        - TSQueryCursor
   177        - TSLanguage
   178        - TSSymbol
   179        - TSFieldId
   180    - name: ./include/tree_sitter/parser.h