Mercurial > hg > index.cgi
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 } |