Mercurial > vba-linux
diff src/sdl/expr.l @ 28:2efb971df515
bringing in SDL package
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sun, 04 Mar 2012 21:06:50 -0600 |
parents | f9f4f1b99eed |
children |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/sdl/expr.l Sun Mar 04 21:06:50 2012 -0600 1.3 @@ -0,0 +1,71 @@ 1.4 +%{ 1.5 +#include "expr.cpp.h" 1.6 + 1.7 +#ifndef __GNUC__ 1.8 +#include <io.h> 1.9 +#define isatty _isatty 1.10 +#endif 1.11 + 1.12 +char *exprString; 1.13 +int exprCol; 1.14 + 1.15 +#define YY_INPUT(buf,result,max_size) \ 1.16 + { \ 1.17 + int c = *exprString++; \ 1.18 + exprCol++;\ 1.19 + result = (c == 0) ? YY_NULL : (buf[0] = c, 1); \ 1.20 + } 1.21 +%} 1.22 + 1.23 +%option nomain 1.24 +%option noyywrap 1.25 + 1.26 +SIZEOF "sizeof" 1.27 +ID [a-zA-Z_][a-zA-Z0-9_]* 1.28 +NUM [0-9]+ 1.29 +DOT "." 1.30 +ARROW "->" 1.31 +STAR "*" 1.32 +ADDR "&" 1.33 + 1.34 +%% 1.35 + 1.36 +{SIZEOF} { 1.37 + return TOKEN_SIZEOF; 1.38 +} 1.39 + 1.40 +{ID} { 1.41 + return TOKEN_IDENTIFIER; 1.42 +} 1.43 + 1.44 +{NUM} { 1.45 + return TOKEN_NUMBER; 1.46 +} 1.47 + 1.48 +{DOT} { 1.49 + return TOKEN_DOT; 1.50 +} 1.51 + 1.52 +{ARROW} { 1.53 + return TOKEN_ARROW; 1.54 +} 1.55 + 1.56 +{ADDR} { 1.57 + return TOKEN_ADDR; 1.58 +} 1.59 + 1.60 +{STAR} { 1.61 + return TOKEN_STAR; 1.62 +} 1.63 + 1.64 +[ \t\n]+ 1.65 + 1.66 +. return *yytext; 1.67 + 1.68 +%% 1.69 + 1.70 +void exprCleanBuffer() 1.71 +{ 1.72 + yy_delete_buffer(yy_current_buffer); 1.73 + yy_init = 1; 1.74 +}