summaryrefslogtreecommitdiff
path: root/chill/src/parse_expr.ll
blob: a9b389fd754eb4e4a2e2adc45fd12d759e2a4b89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
%{
// some C++ code
#include "chill_run_util.hh"
#include "parse_expr.tab.hh"
%}

%option noyywrap

%%
[ \t]+                  /*ignore*/
\n                      /*ignore*/
L[0-9]+                 { yylval.val = atoi(&yytext[1]); return LEVEL; }
[0-9]+                  { yylval.val = atoi(yytext); return NUMBER; }
\<\=                    return LE;
\>\=                    return GE;
\=(\=)?                 return EQ;
[a-zA-Z_][a-zA-Z_0-9]*  {
                           yylval.str_val = new char[yyleng+1];
                           strcpy(yylval.str_val, yytext);
                           return VARIABLE;
                         }
.                        return (int)yytext[0];
%%