소스 검색

⬆️ tree-sitter-cli

pull/5/head
Max Brunsfeld 9 년 전
부모
커밋
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"
},
"devDependencies": {
"tree-sitter-cli": "^0.4.0"
"tree-sitter-cli": "^0.5.0"
},
"scripts": {
"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 {
void (*advance)(void *, bool);
void (*mark_end)(void *);
int32_t lookahead;
TSSymbol result_symbol;
} TSLexer;
@ -91,32 +92,32 @@ typedef struct TSLanguage {
* Lexer Macros
*/
#define START_LEXER() \
int32_t lookahead; \
next_state: \
#define START_LEXER() \
bool result = false; \
int32_t lookahead; \
next_state: \
lookahead = lexer->lookahead;
#define ADVANCE(state_value) \
{ \
#define ADVANCE(state_value) \
{ \
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); \
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

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