Mercurial > vba-clojure
view src/sdl/expr.l @ 461:a2ae4213deb7
implemented adjustable wave-duty for the two pitch channels.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 04 May 2012 03:01:28 -0500 |
parents | f9f4f1b99eed |
children |
line wrap: on
line source
1 %{2 #include "expr.cpp.h"4 #ifndef __GNUC__5 #include <io.h>6 #define isatty _isatty7 #endif9 char *exprString;10 int exprCol;12 #define YY_INPUT(buf,result,max_size) \13 { \14 int c = *exprString++; \15 exprCol++;\16 result = (c == 0) ? YY_NULL : (buf[0] = c, 1); \17 }18 %}20 %option nomain21 %option noyywrap23 SIZEOF "sizeof"24 ID [a-zA-Z_][a-zA-Z0-9_]*25 NUM [0-9]+26 DOT "."27 ARROW "->"28 STAR "*"29 ADDR "&"31 %%33 {SIZEOF} {34 return TOKEN_SIZEOF;35 }37 {ID} {38 return TOKEN_IDENTIFIER;39 }41 {NUM} {42 return TOKEN_NUMBER;43 }45 {DOT} {46 return TOKEN_DOT;47 }49 {ARROW} {50 return TOKEN_ARROW;51 }53 {ADDR} {54 return TOKEN_ADDR;55 }57 {STAR} {58 return TOKEN_STAR;59 }61 [ \t\n]+63 . return *yytext;65 %%67 void exprCleanBuffer()68 {69 yy_delete_buffer(yy_current_buffer);70 yy_init = 1;71 }