Add a public function for printing debugging graphs
This commit is contained in:
parent
b36143d7a7
commit
abbc282950
4 changed files with 8 additions and 4 deletions
|
|
@ -91,6 +91,7 @@ void ts_document_set_input(TSDocument *, TSInput);
|
|||
void ts_document_set_input_string(TSDocument *, const char *);
|
||||
TSDebugger ts_document_debugger(const TSDocument *);
|
||||
void ts_document_set_debugger(TSDocument *, TSDebugger);
|
||||
void ts_document_print_debugging_graphs(TSDocument *, bool);
|
||||
void ts_document_edit(TSDocument *, TSInputEdit);
|
||||
int ts_document_parse(TSDocument *);
|
||||
void ts_document_invalidate(TSDocument *);
|
||||
|
|
|
|||
|
|
@ -52,6 +52,10 @@ void ts_document_set_debugger(TSDocument *self, TSDebugger debugger) {
|
|||
ts_parser_set_debugger(&self->parser, debugger);
|
||||
}
|
||||
|
||||
void ts_document_print_debugging_graphs(TSDocument *self, bool should_print) {
|
||||
self->parser.print_debugging_graphs = should_print;
|
||||
}
|
||||
|
||||
TSInput ts_document_input(TSDocument *self) {
|
||||
return self->input;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,8 +15,6 @@
|
|||
* Debugging
|
||||
*/
|
||||
|
||||
bool TS_PARSER_PRINT_STACKS = false;
|
||||
|
||||
#define LOG(...) \
|
||||
if (self->lexer.debugger.debug_fn) { \
|
||||
snprintf(self->lexer.debug_buffer, TS_DEBUG_BUFFER_SIZE, __VA_ARGS__); \
|
||||
|
|
@ -26,14 +24,14 @@ bool TS_PARSER_PRINT_STACKS = false;
|
|||
|
||||
#define LOG_ACTION(...) \
|
||||
LOG(__VA_ARGS__); \
|
||||
if (TS_PARSER_PRINT_STACKS) { \
|
||||
if (self->print_debugging_graphs) { \
|
||||
fprintf(stderr, "graph {\nlabel=\""); \
|
||||
fprintf(stderr, __VA_ARGS__); \
|
||||
fprintf(stderr, "\"\n}\n\n"); \
|
||||
}
|
||||
|
||||
#define LOG_STACK() \
|
||||
if (TS_PARSER_PRINT_STACKS) { \
|
||||
if (self->print_debugging_graphs) { \
|
||||
fputs(ts_stack_dot_graph(self->stack, self->language->symbol_names), \
|
||||
stderr); \
|
||||
fputs("\n\n", stderr); \
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ typedef struct {
|
|||
Array(TSTree *) reduce_parents;
|
||||
TSTree *finished_tree;
|
||||
bool is_split;
|
||||
bool print_debugging_graphs;
|
||||
} TSParser;
|
||||
|
||||
bool ts_parser_init(TSParser *);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue