From 3fb7c256e202e9fd5191dbae125669e1d42c18a8 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sun, 15 Feb 2009 02:49:40 -0500 Subject: [PATCH] Allow debug output directly from the lexer, before preprocessor eats. --- mojoshader_internal.h | 4 +++- mojoshader_preprocessor.c | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/mojoshader_internal.h b/mojoshader_internal.h index 6e1a11e8..995c4ba0 100644 --- a/mojoshader_internal.h +++ b/mojoshader_internal.h @@ -19,9 +19,11 @@ #include "mojoshader.h" +#define DEBUG_LEXER 0 #define DEBUG_PREPROCESSOR 0 #define DEBUG_ASSEMBLY_PARSER 0 -#define DEBUG_TOKENIZER ((DEBUG_PREPROCESSOR) || (DEBUG_ASSEMBLY_PARSER)) +#define DEBUG_TOKENIZER \ + (DEBUG_PREPROCESSOR || DEBUG_ASSEMBLY_PARSER || DEBUG_LEXER) #if (defined(__APPLE__) && defined(__MACH__)) #define PLATFORM_MACOSX 1 diff --git a/mojoshader_preprocessor.c b/mojoshader_preprocessor.c index 2d58bdb2..70dc5176 100644 --- a/mojoshader_preprocessor.c +++ b/mojoshader_preprocessor.c @@ -17,6 +17,18 @@ #define print_debug_token(token, len, val) #endif +#if DEBUG_LEXER +static Token debug_preprocessor_internal_lexer(IncludeState *s) +{ + const Token retval = preprocessor_internal_lexer(s); + MOJOSHADER_print_debug_token("LEXER", s->token, + (unsigned int) (s->source - s->token), + retval); + return retval; +} // debug_preprocessor_internal_lexer +#define preprocessor_internal_lexer(s) debug_preprocessor_internal_lexer(s) +#endif + typedef struct DefineHash { MOJOSHADER_preprocessorDefine define;