comparison lwbasic/lexer.c @ 31:574931d87abd

Created a function to prettyprint the current lexer token
author lost@l-w.ca
date Thu, 03 Feb 2011 21:28:24 -0700
parents 26aa76da75ad
children 890a8f688889
comparison
equal deleted inserted replaced
30:bcd532a90e53 31:574931d87abd
215 state -> lexer_token_string[1] = 0; 215 state -> lexer_token_string[1] = 0;
216 lexer_nextchar(state); 216 lexer_nextchar(state);
217 state -> lexer_token = token_char; 217 state -> lexer_token = token_char;
218 return; 218 return;
219 } 219 }
220
221 char *lexer_return_token(cstate *state)
222 {
223 static char *buffer = NULL;
224 static int buflen = 0;
225 int l;
226
227 if (buflen == 0)
228 {
229 buffer = lw_alloc(128);
230 buflen = 128;
231 }
232
233 l = snprintf(buffer, buflen, "%s (%d)", state -> lexer_token_string, state -> lexer_token);
234 if (l >= buflen)
235 {
236 buffer = lw_realloc(buffer, l + 1);
237 buflen = l + 1;
238 snprintf(buffer, buflen, "%s (%d)", state -> lexer_token_string, state -> lexer_token);
239 }
240 return buffer;
241 }