-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathcmd.l
More file actions
42 lines (42 loc) · 3.63 KB
/
Copy pathcmd.l
File metadata and controls
42 lines (42 loc) · 3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
%{
#include "cmd.tab.h"
#include <string.h>
%}
%option noinput
%option nounput
%%
"reg" { return REG; }
"login" { return LOGIN; }
"logout" { return LOGOUT; }
"mk" { return MK; }
"join" { return JOIN; }
"quit" { return QUIT; }
"exit" { return EXIT; }
"show" { return SHOW; }
"tables" { return TABLES; }
"players" { return PLAYERS; }
"in" { return IN; }
"pwd" { return PWD; }
"start" { return START; }
"bet" { return BET; }
"raise" { return RAISE; }
"call" { return CALL; }
"fold" { return FOLD; }
"check" { return CHECK; }
"all in" { return ALL_IN; }
"help" { return HELP; }
"chat" { return CHAT; }
"prompt" { return PROMPT; }
"+" { return ADD; }
"-" { return SUB; }
"*" { return MUL; }
"/" { return DIV; }
"(" { return OP; }
")" { return CP; }
\n { return EOL; }
[0-9]+ { yylval.intval = atoi(yytext); return NUMBER; }
0x[a-f0-9]+ { yylval.intval = strtol(yytext, NULL, 16); return NUMBER; }
[a-zA-Z0-9]+ { yylval.strval = strdup(yytext); return IDENTIFIER; }
'[^']*' { yylval.strval = strndup(yytext + 1, strlen(yytext) - 2); return STRING; }
.
%%