summaryrefslogtreecommitdiff
path: root/iup/srcledc/ledc.l
blob: 1a803c66cf840109f49947e845b8c41f3e2a656e (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
%option yylineno

%{
#include <string.h>
#include "ledc.h"
#include "y.tab.h"
%}

a       [aA]
b       [bB]
c       [cC]
d       [dD]
e       [eE]
f       [fF]
g       [gG]
h       [hH]
i       [iI]
j       [jJ]
k       [kK]
l       [lL]
m       [mM]
n       [nN]
o       [oO]
p       [pP]
q       [qQ]
r       [rR]
s       [sS]
t       [tT]
u       [uU]
v       [vV]
w       [wW]
x       [xX]
y       [yY]
z       [zZ]

%%

[ \t\n]		;

"("		{ return '('; }
")"		{ return ')'; }
"="		{ return '='; }
"["		{ return '['; }
"]"		{ return ']'; }
","		{ return ','; }

["](\\.|[^"])*["] {
		   int len = strlen(yytext)-2;
		   char *str = (char*)malloc(sizeof(char)*len+1);
		   strncpy(str, yytext+1, len);
		   str[len] = 0;
		   yylval.fString = str;
		   return STRING;
		}

[A-Za-z0-9_.+-][A-Za-z0-9_.+-]* {
		   yylval.fString = strdup(yytext);
		   return NAME;
		}

"#".*$		;

%%