Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
angle
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
angle
Commits
85f2b2c5
Commit
85f2b2c5
authored
Apr 25, 2012
by
alokp@chromium.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added rules for ignoring comments.
git-svn-id:
https://angleproject.googlecode.com/svn/trunk@1053
736b8ea6-26fd-11df-bfd4-992fa37f6226
parent
ddb6e8e3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
171 additions
and
105 deletions
+171
-105
pp.l
src/compiler/preprocessor/new/pp.l
+13
-1
pp_lex.cpp
src/compiler/preprocessor/new/pp_lex.cpp
+158
-104
No files found.
src/compiler/preprocessor/new/pp.l
View file @
85f2b2c5
...
@@ -45,8 +45,9 @@ typedef pp::Token::Location YYLTYPE;
...
@@ -45,8 +45,9 @@ typedef pp::Token::Location YYLTYPE;
%option reentrant bison-bridge bison-locations
%option reentrant bison-bridge bison-locations
%option prefix="pp"
%option prefix="pp"
%option extra-type="pp::Input*"
%option extra-type="pp::Input*"
%x COMMENT
NEWLINE
"\n"|"\r"|"\r\n"
NEWLINE
\n|\r|\r\n
IDENTIFIER [_a-zA-Z][_a-zA-Z0-9]*
IDENTIFIER [_a-zA-Z][_a-zA-Z0-9]*
PUNCTUATOR [][<>(){}.+-/*%^|&~=!:;,?]
PUNCTUATOR [][<>(){}.+-/*%^|&~=!:;,?]
...
@@ -60,6 +61,17 @@ FRACTIONAL_CONSTANT ({DIGIT}*"."{DIGIT}+)|({DIGIT}+".")
...
@@ -60,6 +61,17 @@ FRACTIONAL_CONSTANT ({DIGIT}*"."{DIGIT}+)|({DIGIT}+".")
%%
%%
/* Line comment */
"//"[^\r\n]*
/* Block comment */
"/*" { BEGIN(COMMENT); }
<COMMENT>[^*\r\n]*
<COMMENT>[^*\r\n]*{NEWLINE} { ++yylineno; return '\n'; }
<COMMENT>"*"+[^*/\r\n]*
<COMMENT>"*"+[^*/\r\n]*{NEWLINE} { ++yylineno; return '\n'; }
<COMMENT>"*"+"/" { BEGIN(INITIAL); return ' '; }
# { return yytext[0]; }
# { return yytext[0]; }
{IDENTIFIER} {
{IDENTIFIER} {
...
...
src/compiler/preprocessor/new/pp_lex.cpp
View file @
85f2b2c5
...
@@ -355,8 +355,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
...
@@ -355,8 +355,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 3
1
#define YY_NUM_RULES 3
8
#define YY_END_OF_BUFFER 3
2
#define YY_END_OF_BUFFER 3
9
/* This struct is not used in this scanner,
/* This struct is not used in this scanner,
but its presence is necessary. */
but its presence is necessary. */
struct
yy_trans_info
struct
yy_trans_info
...
@@ -364,16 +364,17 @@ struct yy_trans_info
...
@@ -364,16 +364,17 @@ struct yy_trans_info
flex_int32_t
yy_verify
;
flex_int32_t
yy_verify
;
flex_int32_t
yy_nxt
;
flex_int32_t
yy_nxt
;
};
};
static
yyconst
flex_int16_t
yy_accept
[
72
]
=
static
yyconst
flex_int16_t
yy_accept
[
89
]
=
{
0
,
{
0
,
0
,
0
,
32
,
30
,
28
,
29
,
29
,
27
,
1
,
27
,
0
,
0
,
3
,
3
,
39
,
37
,
35
,
36
,
36
,
34
,
27
,
27
,
27
,
27
,
27
,
27
,
27
,
3
,
3
,
27
,
8
,
34
,
34
,
34
,
34
,
34
,
34
,
34
,
34
,
10
,
27
,
27
,
2
,
27
,
27
,
28
,
29
,
13
,
21
,
14
,
10
,
34
,
34
,
34
,
9
,
34
,
34
,
3
,
4
,
4
,
24
,
19
,
6
,
17
,
7
,
18
,
4
,
20
,
4
,
3
,
5
,
35
,
36
,
20
,
28
,
21
,
31
,
26
,
13
,
24
,
5
,
5
,
5
,
5
,
3
,
8
,
10
,
12
,
11
,
9
,
14
,
25
,
11
,
2
,
1
,
27
,
11
,
10
,
12
,
12
,
2
,
25
,
15
,
26
,
16
,
5
,
4
,
5
,
4
,
5
,
12
,
12
,
10
,
15
,
17
,
19
,
18
,
16
,
9
,
32
,
0
,
4
,
3
,
22
,
23
,
0
,
4
,
4
,
4
,
4
,
22
,
33
,
23
,
3
,
4
,
4
,
5
,
6
,
6
,
5
,
0
7
,
12
,
11
,
12
,
1
,
11
,
12
,
0
,
11
,
10
,
29
,
30
,
0
,
11
,
11
,
11
,
11
,
0
}
;
}
;
static
yyconst
flex_int32_t
yy_ec
[
256
]
=
static
yyconst
flex_int32_t
yy_ec
[
256
]
=
...
@@ -410,77 +411,95 @@ static yyconst flex_int32_t yy_ec[256] =
...
@@ -410,77 +411,95 @@ static yyconst flex_int32_t yy_ec[256] =
static
yyconst
flex_int32_t
yy_meta
[
27
]
=
static
yyconst
flex_int32_t
yy_meta
[
27
]
=
{
0
,
{
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
3
,
1
,
1
,
2
,
1
,
3
,
3
,
3
,
1
,
1
,
1
,
1
,
1
,
4
,
1
,
5
,
5
,
5
,
1
,
1
,
1
,
3
,
3
,
3
,
3
,
1
,
1
5
,
5
,
5
,
5
,
1
,
1
}
;
}
;
static
yyconst
flex_int16_t
yy_base
[
74
]
=
static
yyconst
flex_int16_t
yy_base
[
95
]
=
{
0
,
{
0
,
0
,
0
,
136
,
137
,
133
,
137
,
131
,
114
,
137
,
113
,
0
,
0
,
24
,
26
,
146
,
193
,
143
,
193
,
140
,
123
,
19
,
137
,
112
,
17
,
18
,
16
,
100
,
26
,
36
,
16
,
193
,
110
,
23
,
193
,
102
,
21
,
25
,
30
,
29
,
36
,
99
,
25
,
0
,
21
,
35
,
105
,
137
,
137
,
137
,
137
,
46
,
36
,
97
,
45
,
0
,
16
,
47
,
64
,
193
,
96
,
137
,
137
,
137
,
137
,
137
,
137
,
49
,
137
,
61
,
51
,
71
,
89
,
193
,
193
,
193
,
193
,
193
,
193
,
193
,
193
,
43
,
71
,
83
,
56
,
0
,
49
,
137
,
137
,
137
,
44
,
193
,
193
,
73
,
193
,
0
,
193
,
85
,
63
,
56
,
95
,
0
,
137
,
137
,
137
,
137
,
86
,
0
,
98
,
0
,
105
,
107
,
69
,
0
,
50
,
193
,
193
,
193
,
37
,
0
,
193
,
40
,
78
,
68
,
137
,
137
,
89
,
85
,
100
,
108
,
111
,
193
,
193
,
193
,
73
,
193
,
47
,
122
,
193
,
35
,
134
,
137
,
26
,
127
193
,
134
,
0
,
146
,
0
,
0
,
153
,
88
,
67
,
107
,
193
,
193
,
98
,
72
,
116
,
118
,
124
,
193
,
170
,
28
,
175
,
180
,
185
,
187
}
;
}
;
static
yyconst
flex_int16_t
yy_def
[
74
]
=
static
yyconst
flex_int16_t
yy_def
[
95
]
=
{
0
,
{
0
,
71
,
1
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
88
,
1
,
89
,
89
,
88
,
88
,
88
,
88
,
88
,
88
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
18
,
71
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
71
,
71
,
72
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
20
,
88
,
88
,
88
,
90
,
88
,
88
,
91
,
88
,
88
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
18
,
92
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
18
,
39
,
42
,
73
,
19
,
71
,
71
,
71
,
71
,
71
,
88
,
88
,
88
,
88
,
93
,
88
,
88
,
20
,
20
,
47
,
72
,
71
,
71
,
71
,
71
,
37
,
37
,
56
,
39
,
42
,
50
,
94
,
21
,
88
,
88
,
88
,
88
,
88
,
90
,
88
,
71
,
43
,
73
,
71
,
71
,
71
,
58
,
60
,
71
,
71
,
88
,
88
,
88
,
91
,
88
,
88
,
92
,
88
,
88
,
92
,
0
,
71
,
71
88
,
43
,
43
,
72
,
93
,
47
,
50
,
88
,
51
,
94
,
88
,
88
,
88
,
74
,
77
,
88
,
88
,
0
,
88
,
88
,
88
,
88
,
88
,
88
}
;
}
;
static
yyconst
flex_int16_t
yy_nxt
[
164
]
=
static
yyconst
flex_int16_t
yy_nxt
[
220
]
=
{
0
,
{
0
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
14
,
15
,
16
,
17
,
18
,
19
,
19
,
20
,
21
,
22
,
16
,
17
,
18
,
19
,
20
,
21
,
21
,
22
,
23
,
24
,
23
,
23
,
23
,
23
,
24
,
25
,
30
,
33
,
51
,
35
,
25
,
25
,
25
,
25
,
26
,
27
,
29
,
30
,
29
,
30
,
37
,
37
,
37
,
46
,
47
,
34
,
36
,
31
,
39
,
52
,
36
,
39
,
59
,
31
,
60
,
31
,
41
,
68
,
44
,
40
,
40
,
40
,
41
,
49
,
50
,
53
,
42
,
43
,
42
,
44
,
61
,
37
,
45
,
42
,
43
,
43
,
43
,
46
,
47
,
65
,
45
,
45
,
45
,
54
,
69
,
69
,
69
,
41
,
41
,
42
,
48
,
48
,
49
,
54
,
55
,
82
,
50
,
51
,
50
,
52
,
55
,
56
,
65
,
57
,
57
,
57
,
42
,
64
,
42
,
56
,
53
,
53
,
53
,
57
,
58
,
62
,
65
,
66
,
81
,
50
,
58
,
56
,
56
,
42
,
42
,
59
,
59
,
59
,
42
,
42
,
49
,
49
,
63
,
68
,
69
,
65
,
66
,
88
,
88
,
50
,
42
,
42
,
60
,
42
,
42
,
42
,
42
,
42
,
71
,
71
,
70
,
50
,
88
,
88
,
71
,
72
,
50
,
73
,
73
,
73
,
42
,
42
,
42
,
61
,
61
,
71
,
71
,
62
,
62
,
62
,
32
,
50
,
50
,
72
,
74
,
72
,
72
,
50
,
65
,
76
,
56
,
56
,
56
,
70
,
70
,
70
,
26
,
56
,
66
,
66
,
76
,
76
,
86
,
86
,
86
,
50
,
77
,
50
,
50
,
50
,
71
,
71
,
67
,
67
,
67
,
66
,
66
,
48
,
38
,
68
,
50
,
50
,
87
,
87
,
87
,
56
,
50
,
78
,
78
,
50
,
68
,
68
,
69
,
69
,
69
,
70
,
70
,
70
,
63
,
63
,
38
,
79
,
79
,
79
,
68
,
69
,
88
,
88
,
35
,
50
,
32
,
29
,
28
,
27
,
26
,
71
,
3
,
71
,
71
,
71
,
50
,
88
,
86
,
86
,
86
,
88
,
68
,
69
,
87
,
87
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
87
,
34
,
33
,
70
,
32
,
88
,
88
,
71
,
72
,
72
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
72
,
88
,
88
,
88
,
88
,
72
,
83
,
83
,
88
,
88
,
71
,
71
,
71
84
,
84
,
84
,
83
,
83
,
88
,
88
,
85
,
85
,
85
,
28
,
28
,
28
,
28
,
28
,
64
,
64
,
88
,
64
,
64
,
67
,
67
,
67
,
67
,
67
,
75
,
88
,
75
,
75
,
75
,
80
,
80
,
5
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
}
;
}
;
static
yyconst
flex_int16_t
yy_chk
[
164
]
=
static
yyconst
flex_int16_t
yy_chk
[
220
]
=
{
0
,
{
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
11
,
14
,
72
,
15
,
1
,
1
,
1
,
1
,
1
,
1
,
3
,
3
,
4
,
4
,
16
,
16
,
16
,
20
,
20
,
14
,
15
,
11
,
18
,
24
,
13
,
16
,
90
,
3
,
26
,
4
,
17
,
69
,
19
,
16
,
18
,
18
,
18
,
22
,
22
,
24
,
18
,
18
,
18
,
18
,
26
,
13
,
19
,
17
,
18
,
18
,
18
,
19
,
20
,
66
,
19
,
19
,
19
,
25
,
61
,
61
,
61
,
41
,
41
,
19
,
20
,
20
,
20
,
22
,
22
,
58
,
20
,
20
,
20
,
20
,
25
,
37
,
50
,
37
,
37
,
37
,
41
,
46
,
44
,
37
,
21
,
21
,
21
,
24
,
24
,
27
,
28
,
28
,
54
,
21
,
37
,
37
,
37
,
39
,
40
,
39
,
39
,
39
,
44
,
44
,
49
,
49
,
27
,
31
,
31
,
64
,
64
,
79
,
79
,
49
,
63
,
39
,
39
,
39
,
39
,
42
,
42
,
42
,
62
,
62
,
31
,
52
,
84
,
84
,
31
,
43
,
48
,
43
,
43
,
43
,
63
,
63
,
42
,
43
,
43
,
67
,
67
,
43
,
43
,
43
,
32
,
52
,
52
,
43
,
43
,
43
,
43
,
47
,
30
,
47
,
56
,
56
,
56
,
66
,
66
,
66
,
26
,
56
,
58
,
58
,
47
,
47
,
78
,
78
,
78
,
47
,
47
,
47
,
47
,
50
,
68
,
68
,
58
,
58
,
58
,
60
,
60
,
21
,
17
,
60
,
50
,
50
,
83
,
83
,
83
,
23
,
50
,
51
,
51
,
80
,
60
,
60
,
69
,
69
,
69
,
70
,
70
,
70
,
73
,
73
,
15
,
51
,
51
,
51
,
67
,
67
,
85
,
85
,
12
,
80
,
13
,
10
,
8
,
7
,
5
,
3
,
71
,
71
,
71
,
71
,
80
,
67
,
86
,
86
,
86
,
67
,
70
,
70
,
87
,
87
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
87
,
10
,
9
,
70
,
7
,
5
,
0
,
70
,
72
,
72
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
71
,
72
,
0
,
0
,
0
,
0
,
72
,
74
,
74
,
0
,
0
,
71
,
71
,
71
74
,
74
,
74
,
77
,
77
,
0
,
0
,
77
,
77
,
77
,
89
,
89
,
89
,
89
,
89
,
91
,
91
,
0
,
91
,
91
,
92
,
92
,
92
,
92
,
92
,
93
,
0
,
93
,
93
,
93
,
94
,
94
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
,
88
}
;
}
;
/* The intent behind this definition is that it'll catch
/* The intent behind this definition is that it'll catch
...
@@ -522,6 +541,7 @@ typedef pp::Token::Location YYLTYPE;
...
@@ -522,6 +541,7 @@ typedef pp::Token::Location YYLTYPE;
#define YY_INPUT
#define YY_INPUT
#define INITIAL 0
#define INITIAL 0
#define COMMENT 1
#define YY_EXTRA_TYPE pp::Input*
#define YY_EXTRA_TYPE pp::Input*
...
@@ -748,6 +768,8 @@ YY_DECL
...
@@ -748,6 +768,8 @@ YY_DECL
register
int
yy_act
;
register
int
yy_act
;
struct
yyguts_t
*
yyg
=
(
struct
yyguts_t
*
)
yyscanner
;
struct
yyguts_t
*
yyg
=
(
struct
yyguts_t
*
)
yyscanner
;
/* Line comment */
yylval
=
yylval_param
;
yylval
=
yylval_param
;
yylloc
=
yylloc_param
;
yylloc
=
yylloc_param
;
...
@@ -803,13 +825,13 @@ yy_match:
...
@@ -803,13 +825,13 @@ yy_match:
while
(
yy_chk
[
yy_base
[
yy_current_state
]
+
yy_c
]
!=
yy_current_state
)
while
(
yy_chk
[
yy_base
[
yy_current_state
]
+
yy_c
]
!=
yy_current_state
)
{
{
yy_current_state
=
(
int
)
yy_def
[
yy_current_state
];
yy_current_state
=
(
int
)
yy_def
[
yy_current_state
];
if
(
yy_current_state
>=
72
)
if
(
yy_current_state
>=
89
)
yy_c
=
yy_meta
[(
unsigned
int
)
yy_c
];
yy_c
=
yy_meta
[(
unsigned
int
)
yy_c
];
}
}
yy_current_state
=
yy_nxt
[
yy_base
[
yy_current_state
]
+
(
unsigned
int
)
yy_c
];
yy_current_state
=
yy_nxt
[
yy_base
[
yy_current_state
]
+
(
unsigned
int
)
yy_c
];
++
yy_cp
;
++
yy_cp
;
}
}
while
(
yy_current_state
!=
71
);
while
(
yy_current_state
!=
88
);
yy_cp
=
yyg
->
yy_last_accepting_cpos
;
yy_cp
=
yyg
->
yy_last_accepting_cpos
;
yy_current_state
=
yyg
->
yy_last_accepting_state
;
yy_current_state
=
yyg
->
yy_last_accepting_state
;
...
@@ -831,23 +853,54 @@ do_action: /* This label is used only to access EOF actions. */
...
@@ -831,23 +853,54 @@ do_action: /* This label is used only to access EOF actions. */
case
1
:
case
1
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
yytext
[
0
];
}
YY_BREAK
YY_BREAK
/* Block comment */
case
2
:
case
2
:
YY_RULE_SETUP
YY_RULE_SETUP
{
BEGIN
(
COMMENT
);
}
YY_BREAK
case
3
:
YY_RULE_SETUP
YY_BREAK
case
4
:
/* rule 4 can match eol */
YY_RULE_SETUP
{
++
yylineno
;
return
'\n'
;
}
YY_BREAK
case
5
:
YY_RULE_SETUP
YY_BREAK
case
6
:
/* rule 6 can match eol */
YY_RULE_SETUP
{
++
yylineno
;
return
'\n'
;
}
YY_BREAK
case
7
:
YY_RULE_SETUP
{
BEGIN
(
INITIAL
);
return
' '
;
}
YY_BREAK
case
8
:
YY_RULE_SETUP
{
return
yytext
[
0
];
}
YY_BREAK
case
9
:
YY_RULE_SETUP
{
{
yylval
->
assign
(
yytext
,
yyleng
);
yylval
->
assign
(
yytext
,
yyleng
);
return
pp
::
Token
::
IDENTIFIER
;
return
pp
::
Token
::
IDENTIFIER
;
}
}
YY_BREAK
YY_BREAK
case
3
:
case
10
:
YY_RULE_SETUP
YY_RULE_SETUP
{
{
yylval
->
assign
(
yytext
,
yyleng
);
yylval
->
assign
(
yytext
,
yyleng
);
return
pp
::
Token
::
CONST_INT
;
return
pp
::
Token
::
CONST_INT
;
}
}
YY_BREAK
YY_BREAK
case
4
:
case
11
:
YY_RULE_SETUP
YY_RULE_SETUP
{
{
yylval
->
assign
(
yytext
,
yyleng
);
yylval
->
assign
(
yytext
,
yyleng
);
...
@@ -856,114 +909,114 @@ YY_RULE_SETUP
...
@@ -856,114 +909,114 @@ YY_RULE_SETUP
YY_BREAK
YY_BREAK
/* Anything that starts with a {DIGIT} or .{DIGIT} must be a number. */
/* Anything that starts with a {DIGIT} or .{DIGIT} must be a number. */
/* Rule to catch all invalid integers and floats. */
/* Rule to catch all invalid integers and floats. */
case
5
:
case
12
:
YY_RULE_SETUP
YY_RULE_SETUP
{
{
yylval
->
assign
(
yytext
,
yyleng
);
yylval
->
assign
(
yytext
,
yyleng
);
return
pp
::
Token
::
INVALID_NUMBER
;
return
pp
::
Token
::
INVALID_NUMBER
;
}
}
YY_BREAK
YY_BREAK
case
6
:
case
13
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_INC
;
}
{
return
pp
::
Token
::
OP_INC
;
}
YY_BREAK
YY_BREAK
case
7
:
case
14
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_DEC
;
}
{
return
pp
::
Token
::
OP_DEC
;
}
YY_BREAK
YY_BREAK
case
8
:
case
15
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_LEFT
;
}
{
return
pp
::
Token
::
OP_LEFT
;
}
YY_BREAK
YY_BREAK
case
9
:
case
16
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_RIGHT
;
}
{
return
pp
::
Token
::
OP_RIGHT
;
}
YY_BREAK
YY_BREAK
case
1
0
:
case
1
7
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_LE
;
}
{
return
pp
::
Token
::
OP_LE
;
}
YY_BREAK
YY_BREAK
case
1
1
:
case
1
8
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_GE
;
}
{
return
pp
::
Token
::
OP_GE
;
}
YY_BREAK
YY_BREAK
case
1
2
:
case
1
9
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_EQ
;
}
{
return
pp
::
Token
::
OP_EQ
;
}
YY_BREAK
YY_BREAK
case
13
:
case
20
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_NE
;
}
{
return
pp
::
Token
::
OP_NE
;
}
YY_BREAK
YY_BREAK
case
14
:
case
21
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_AND
;
}
{
return
pp
::
Token
::
OP_AND
;
}
YY_BREAK
YY_BREAK
case
15
:
case
22
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_XOR
;
}
{
return
pp
::
Token
::
OP_XOR
;
}
YY_BREAK
YY_BREAK
case
16
:
case
23
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_OR
;
}
{
return
pp
::
Token
::
OP_OR
;
}
YY_BREAK
YY_BREAK
case
17
:
case
24
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_ADD_ASSIGN
;
}
{
return
pp
::
Token
::
OP_ADD_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
18
:
case
25
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_SUB_ASSIGN
;
}
{
return
pp
::
Token
::
OP_SUB_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
19
:
case
26
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_MUL_ASSIGN
;
}
{
return
pp
::
Token
::
OP_MUL_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
2
0
:
case
2
7
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_DIV_ASSIGN
;
}
{
return
pp
::
Token
::
OP_DIV_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
2
1
:
case
2
8
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_MOD_ASSIGN
;
}
{
return
pp
::
Token
::
OP_MOD_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
2
2
:
case
2
9
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_LEFT_ASSIGN
;
}
{
return
pp
::
Token
::
OP_LEFT_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
23
:
case
30
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_RIGHT_ASSIGN
;
}
{
return
pp
::
Token
::
OP_RIGHT_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
24
:
case
31
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_AND_ASSIGN
;
}
{
return
pp
::
Token
::
OP_AND_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
25
:
case
32
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_XOR_ASSIGN
;
}
{
return
pp
::
Token
::
OP_XOR_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
26
:
case
33
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
pp
::
Token
::
OP_OR_ASSIGN
;
}
{
return
pp
::
Token
::
OP_OR_ASSIGN
;
}
YY_BREAK
YY_BREAK
case
27
:
case
34
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
yytext
[
0
];
}
{
return
yytext
[
0
];
}
YY_BREAK
YY_BREAK
case
28
:
case
35
:
YY_RULE_SETUP
YY_RULE_SETUP
{
return
' '
;
}
{
return
' '
;
}
YY_BREAK
YY_BREAK
case
29
:
case
36
:
/* rule
29
can match eol */
/* rule
36
can match eol */
YY_RULE_SETUP
YY_RULE_SETUP
{
{
++
yylineno
;
++
yylineno
;
return
'\n'
;
return
'\n'
;
}
}
YY_BREAK
YY_BREAK
case
3
0
:
case
3
7
:
YY_RULE_SETUP
YY_RULE_SETUP
{
{
yylval
->
assign
(
yytext
,
yyleng
);
yylval
->
assign
(
yytext
,
yyleng
);
...
@@ -971,9 +1024,10 @@ YY_RULE_SETUP
...
@@ -971,9 +1024,10 @@ YY_RULE_SETUP
}
}
YY_BREAK
YY_BREAK
case
YY_STATE_EOF
(
INITIAL
):
case
YY_STATE_EOF
(
INITIAL
):
case
YY_STATE_EOF
(
COMMENT
):
{
yyterminate
();
}
{
yyterminate
();
}
YY_BREAK
YY_BREAK
case
3
1
:
case
3
8
:
YY_RULE_SETUP
YY_RULE_SETUP
ECHO
;
ECHO
;
YY_BREAK
YY_BREAK
...
@@ -1269,7 +1323,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
...
@@ -1269,7 +1323,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while
(
yy_chk
[
yy_base
[
yy_current_state
]
+
yy_c
]
!=
yy_current_state
)
while
(
yy_chk
[
yy_base
[
yy_current_state
]
+
yy_c
]
!=
yy_current_state
)
{
{
yy_current_state
=
(
int
)
yy_def
[
yy_current_state
];
yy_current_state
=
(
int
)
yy_def
[
yy_current_state
];
if
(
yy_current_state
>=
72
)
if
(
yy_current_state
>=
89
)
yy_c
=
yy_meta
[(
unsigned
int
)
yy_c
];
yy_c
=
yy_meta
[(
unsigned
int
)
yy_c
];
}
}
yy_current_state
=
yy_nxt
[
yy_base
[
yy_current_state
]
+
(
unsigned
int
)
yy_c
];
yy_current_state
=
yy_nxt
[
yy_base
[
yy_current_state
]
+
(
unsigned
int
)
yy_c
];
...
@@ -1298,11 +1352,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
...
@@ -1298,11 +1352,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while
(
yy_chk
[
yy_base
[
yy_current_state
]
+
yy_c
]
!=
yy_current_state
)
while
(
yy_chk
[
yy_base
[
yy_current_state
]
+
yy_c
]
!=
yy_current_state
)
{
{
yy_current_state
=
(
int
)
yy_def
[
yy_current_state
];
yy_current_state
=
(
int
)
yy_def
[
yy_current_state
];
if
(
yy_current_state
>=
72
)
if
(
yy_current_state
>=
89
)
yy_c
=
yy_meta
[(
unsigned
int
)
yy_c
];
yy_c
=
yy_meta
[(
unsigned
int
)
yy_c
];
}
}
yy_current_state
=
yy_nxt
[
yy_base
[
yy_current_state
]
+
(
unsigned
int
)
yy_c
];
yy_current_state
=
yy_nxt
[
yy_base
[
yy_current_state
]
+
(
unsigned
int
)
yy_c
];
yy_is_jam
=
(
yy_current_state
==
71
);
yy_is_jam
=
(
yy_current_state
==
88
);
return
yy_is_jam
?
0
:
yy_current_state
;
return
yy_is_jam
?
0
:
yy_current_state
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment