From 444188cb5f10ca147092366eaf0b6aec55c61b43 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Sat, 27 Sep 2014 16:00:27 -0700 Subject: [PATCH] Display characters > 255 as numbers in debug output --- include/tree_sitter/parser.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/include/tree_sitter/parser.h b/include/tree_sitter/parser.h index 402d3980..cd305079 100644 --- a/include/tree_sitter/parser.h +++ b/include/tree_sitter/parser.h @@ -82,16 +82,19 @@ struct TSLanguage { #define DEBUG_LEX(...) \ if (lexer->debug) { \ - fprintf(stderr, "LEX " __VA_ARGS__); \ + fprintf(stderr, "LEX "); \ + fprintf(stderr, __VA_ARGS__); \ fprintf(stderr, "\n"); \ } -#define START_LEXER() \ - DEBUG_LEX("START %d", lex_state); \ - int32_t lookahead; \ - next_state: \ - lookahead = ts_lexer_lookahead_char(lexer); \ - DEBUG_LEX("CHAR '%c'", lookahead); +#define START_LEXER() \ + DEBUG_LEX("START %d", lex_state); \ + int32_t lookahead; \ + next_state: \ + lookahead = ts_lexer_lookahead_char(lexer); \ + DEBUG_LEX( \ + (0 < lookahead && lookahead <= 255 ? "CHAR '%c'" : "CHAR %d"), \ + lookahead); #define START_TOKEN() ts_lexer_start_token(lexer);