summaryrefslogtreecommitdiff
path: root/other/burneye/src/conf/config.l
blob: ee7db575c7545b22f9d2f547843bb23fa6dc6711 (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
/* burneye - configuration file lexer
 *
 * -scut
 */

%{

#include <string.h>
#include "../common.h"

%}

%%

[\n\t ]+	;

\{	{
	return (EXPR_BLOCK_BEGIN);
	}

\}	{
	return (EXPR_BLOCK_END);
	}

\"[^\"]*\"	{
	cflval.str = xstrdup (cftext + 1);
	cflval.str[strlen (cflval.str) - 1] = '\0';

	return (QSTRING);
	}

function	{
	return (FUNCTION);
	}

0x[0123456789abcdef]+	{
	sscanf (cftext, "0x%lx", &cflval.num);

	return (NUM);
	}

[0123456789]+ {
	sscanf (cftext, "%lu", &cflval.num);

	return (NUM);
}

.	return (cftext[0]);