Просмотр исходного кода

⬆️ tree-sitter-cli

pull/5/head
Max Brunsfeld 9 лет назад
Родитель
Сommit
0122ab6e6d
3 измененных файлов: 50569 добавлений и 50136 удалений
  1. +1
    -1
      package.json
  2. +50550
    -50118
      src/parser.c
  3. +18
    -17
      src/tree_sitter/parser.h

+ 1
- 1
package.json Просмотреть файл

@ -14,7 +14,7 @@
"nan": "^2.4.0" "nan": "^2.4.0"
}, },
"devDependencies": { "devDependencies": {
"tree-sitter-cli": "^0.4.0"
"tree-sitter-cli": "^0.5.0"
}, },
"scripts": { "scripts": {
"build": "tree-sitter generate && node-gyp build", "build": "tree-sitter generate && node-gyp build",

+ 50550
- 50118
src/parser.c
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 18
- 17
src/tree_sitter/parser.h Просмотреть файл

@ -26,6 +26,7 @@ typedef struct {
typedef struct { typedef struct {
void (*advance)(void *, bool); void (*advance)(void *, bool);
void (*mark_end)(void *);
int32_t lookahead; int32_t lookahead;
TSSymbol result_symbol; TSSymbol result_symbol;
} TSLexer; } TSLexer;
@ -91,32 +92,32 @@ typedef struct TSLanguage {
* Lexer Macros * Lexer Macros
*/ */
#define START_LEXER() \
int32_t lookahead; \
next_state: \
#define START_LEXER() \
bool result = false; \
int32_t lookahead; \
next_state: \
lookahead = lexer->lookahead; lookahead = lexer->lookahead;
#define ADVANCE(state_value) \
{ \
#define ADVANCE(state_value) \
{ \
lexer->advance(lexer, false); \ lexer->advance(lexer, false); \
state = state_value; \
goto next_state; \
state = state_value; \
goto next_state; \
} }
#define SKIP(state_value) \
{ \
#define SKIP(state_value) \
{ \
lexer->advance(lexer, true); \ lexer->advance(lexer, true); \
state = state_value; \
goto next_state; \
state = state_value; \
goto next_state; \
} }
#define ACCEPT_TOKEN(symbol_value) \
{ \
lexer->result_symbol = symbol_value; \
return true; \
}
#define ACCEPT_TOKEN(symbol_value) \
result = true; \
lexer->result_symbol = symbol_value; \
lexer->mark_end(lexer);
#define LEX_ERROR() return false
#define END_STATE() return result;
/* /*
* Parse Table Macros * Parse Table Macros

Загрузка…
Отмена
Сохранить