File: parser.l

package info (click to toggle)
wine 0.0.980315-1
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 10,136 kB
  • ctags: 26,112
  • sloc: ansic: 156,310; makefile: 1,160; yacc: 807; perl: 655; lex: 555; sh: 304
file content (85 lines) | stat: -rw-r--r-- 1,951 bytes parent folder | download | duplicates (3)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/* -*-C-*-
 *
 * Copyright  Martin von Loewis, 1994
 *
 */
%{

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "parser.h"
#include "y.tab.h"

#define YY_NO_UNPUT

int line_number=1;
%}
%%
ACCELERATORS	return ACCELERATORS;
ALT		return ALT;
ASCII		return ASCII;
BEGIN		return tBEGIN;
BITMAP		return tBITMAP;
CAPTION		return CAPTION;
CHECKBOX	return CHECKBOX;
CHECKED		return CHECKED;
CLASS		return CLASS;
COMBOBOX	return COMBOBOX;
CONTROL		return CONTROL;
CTEXT		return CTEXT;
CURSOR		return CURSOR;
DEFPUSHBUTTON	return DEFPUSHBUTTON;
DIALOG		return DIALOG;
DISCARDABLE	return DISCARDABLE;
EDITTEXT	return EDITTEXT;
END		return tEND;
FIXED		return tFIXED;
FONT		return FONT;
GRAYED		return GRAYED;
GROUPBOX	return GROUPBOX;
HELP		return HELP;
ICON		return ICON;
INACTIVE	return INACTIVE;
LISTBOX		return LISTBOX;
LTEXT		return LTEXT;
MENU		return MENU;
MENUBARBREAK	return MENUBARBREAK;
MENUBREAK	return MENUBREAK;
MENUITEM	return MENUITEM;
MOVEABLE	return MOVEABLE;
LOADONCALL	return LOADONCALL;
NOINVERT	return NOINVERT;
NOT			return NOT;
NUMBER		return NUMBER;
POPUP		return POPUP;
PRELOAD		return PRELOAD;
PUSHBUTTON	return PUSHBUTTON;
PURE		return PURE;
RADIOBUTTON	return RADIOBUTTON;
RCDATA		return RCDATA;
RTEXT		return RTEXT;
SCROLLBAR	return SCROLLBAR;
SHIFT		return SHIFT;
SEPARATOR	return SEPARATOR;
STRING		return tSTRING;
STRINGTABLE	return STRINGTABLE;
STYLE		return STYLE;
VERSIONINFO	return VERSIONINFO;
VIRTKEY		return VIRTKEY;
\{			return tBEGIN;
\}			return tEND;
[+-]?[0-9]+	yylval.num=atoi(yytext);return NUMBER;
0x[0-9A-Fa-f]+L?	yylval.num=strtoul(yytext,0,16);return NUMBER;
[A-Za-z][A-Za-z_0-9]*	yylval.str=strdup(yytext);return IDENT;
\"[^"]*\"	yylval.str=parse_c_string(yytext);return tSTRING;
\'[^']*\'   yylval.str=strdup(yytext+1);return SINGLE_QUOTED;
\n                      { line_number++; }
[ \t\r]                 ;
.			return yytext[0];
%%

#ifndef yywrap
int yywrap(void) { return 1; }
#endif