File: getoption.l

package info (click to toggle)
emil 2.1.0-beta9-9
  • links: PTS
  • area: main
  • in suites: potato
  • size: 1,152 kB
  • ctags: 587
  • sloc: ansic: 10,369; yacc: 412; makefile: 326; sh: 172
file content (51 lines) | stat: -rw-r--r-- 1,063 bytes parent folder | download | duplicates (6)
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
%a 4000
%o 8000
%k 100
%n 100
%p 500
%e 200

WHITESPACE	[ \t]
COMMENT		[\#]
COLON		[\:]
COMMA		[\,]
EQUALS		[\=]
EOL		[\n]
EOR		[\;]
QSTRING		[\"][^\"]*[\"]
STRING		[A-Za-z0-9\-_\.\@\?\*\/\$]+

%%

{WHITESPACE}++	{ /* Eat whitespace */	}
{COMMENT}[^\n]*	{ /* Eat comments   */	}
{EOL}		{ line_count++;  	}
{EQUALS}	{ return	EQUALS; }
{COLON}		{ return	COLON; 	}
{COMMA}		{ return	COMMA;	}
{EOR}		{ return	EOR;	}
appletype       { return        APPLETYPE; }
charset		{ return	CHARSET;}
textenc         { return        TEXTENC;}
henc            { return        HENC;   }
format		{ return	FORMAT; }
bin		{ return	BIN; 	}
group		{ return	GROUP;	}
member		{ return	MEMBER; }
match		{ return	MATCH;  }
mailer		{ return	MAILER;  }
localhostname	{ return	HOSTNAME;  }

{QSTRING}	{ int	qstringlen;
		  yylval.string	= strcpy(Yalloc(strlen(&yytext[1])+1),
					 &yytext[1]);
		  qstringlen	= strlen(yylval.string);
		  yylval.string[qstringlen-1]	= 0;
		  return	QSTRING;
		}

{STRING}	{ yylval.string = strcpy(Yalloc(strlen(yytext)+1),yytext);
		  return	STRING; 
		}

%%