Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(416)

Side by Side Diff: src/lexer/lexer_py.re

Issue 71303005: Experimental parser: add back last re2c rules (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/lexer/even-more-experimental-scanner.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2013 the V8 project authors. All rights reserved. 1 # Copyright 2013 the V8 project authors. All rights reserved.
2 # Redistribution and use in source and binary forms, with or without 2 # Redistribution and use in source and binary forms, with or without
3 # modification, are permitted provided that the following conditions are 3 # modification, are permitted provided that the following conditions are
4 # met: 4 # met:
5 # 5 #
6 # * Redistributions of source code must retain the above copyright 6 # * Redistributions of source code must retain the above copyright
7 # notice, this list of conditions and the following disclaimer. 7 # notice, this list of conditions and the following disclaimer.
8 # * Redistributions in binary form must reproduce the above 8 # * Redistributions in binary form must reproduce the above
9 # copyright notice, this list of conditions and the following 9 # copyright notice, this list of conditions and the following
10 # disclaimer in the documentation and/or other materials provided 10 # disclaimer in the documentation and/or other materials provided
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 "==" <|push_token(EQ)|> 58 "==" <|push_token(EQ)|>
59 "=" <|push_token(ASSIGN)|> 59 "=" <|push_token(ASSIGN)|>
60 "!==" <|push_token(NE_STRICT)|> 60 "!==" <|push_token(NE_STRICT)|>
61 "!=" <|push_token(NE)|> 61 "!=" <|push_token(NE)|>
62 "!" <|push_token(NOT)|> 62 "!" <|push_token(NOT)|>
63 63
64 "//" <||SingleLineComment> 64 "//" <||SingleLineComment>
65 "/*" <||MultiLineComment> 65 "/*" <||MultiLineComment>
66 "<!--" <||HtmlComment> 66 "<!--" <||HtmlComment>
67 67
68 #whitespace* "-->" { if (just_seen_line_terminator_) { YYSETCONDITION(kCondition SingleLineComment); goto yyc_SingleLineComment; } else { --cursor_; send(Token:: DEC); start_ = cursor_; goto yyc_Normal; } } 68 whitespace? "-->" <{
69 if (!just_seen_line_terminator_) {
70 PUSH_TOKEN(Token::DEC);
71 start_ = cursor_ - 1;
72 goto code_start;
73 }
74 }||SingleLineComment>
69 75
70 ">>>=" <|push_token(ASSIGN_SHR)|> 76 ">>>=" <|push_token(ASSIGN_SHR)|>
71 ">>>" <|push_token(SHR)|> 77 ">>>" <|push_token(SHR)|>
72 "<<=" <|push_token(ASSIGN_SHL)|> 78 "<<=" <|push_token(ASSIGN_SHL)|>
73 ">>=" <|push_token(ASSIGN_SAR)|> 79 ">>=" <|push_token(ASSIGN_SAR)|>
74 "<=" <|push_token(LTE)|> 80 "<=" <|push_token(LTE)|>
75 ">=" <|push_token(GTE)|> 81 ">=" <|push_token(GTE)|>
76 "<<" <|push_token(SHL)|> 82 "<<" <|push_token(SHL)|>
77 ">>" <|push_token(SAR)|> 83 ">>" <|push_token(SAR)|>
78 "<" <|push_token(LT)|> 84 "<" <|push_token(LT)|>
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 "typeof" <|push_token(TYPEOF)|> 164 "typeof" <|push_token(TYPEOF)|>
159 "var" <|push_token(VAR)|> 165 "var" <|push_token(VAR)|>
160 "void" <|push_token(VOID)|> 166 "void" <|push_token(VOID)|>
161 "while" <|push_token(WHILE)|> 167 "while" <|push_token(WHILE)|>
162 "with" <|push_token(WITH)|> 168 "with" <|push_token(WITH)|>
163 "yield" <|push_token(YIELD)|> 169 "yield" <|push_token(YIELD)|>
164 170
165 identifier_start <|push_token(IDENTIFIER)|Identifier> 171 identifier_start <|push_token(IDENTIFIER)|Identifier>
166 /\\u[0-9a-fA-F]{4}/ <{ 172 /\\u[0-9a-fA-F]{4}/ <{
167 if (V8_UNLIKELY(!ValidIdentifierStart())) { 173 if (V8_UNLIKELY(!ValidIdentifierStart())) {
168 PUSH_TOKEN(Token::ILLEGAL); 174 goto default_action;
169 // need to goto something here
170 } 175 }
171 }|push_token(IDENTIFIER)|Identifier> 176 }|push_token(IDENTIFIER)|Identifier>
172 177
173 eof <|terminate|> 178 eof <|terminate|>
174 default_action <push_token(ILLEGAL)> 179 default_action <push_token(ILLEGAL)>
175 180
176 <<DoubleQuoteString>> 181 <<DoubleQuoteString>>
177 /\\\n\r?/ <||continue> 182 /\\\n\r?/ <||continue>
178 /\\\r\n?/ <||continue> 183 /\\\r\n?/ <||continue>
179 /\\./ <||continue> 184 /\\./ <||continue>
180 /\n|\r/ <|push_token(ILLEGAL)|> 185 /\n|\r/ <|push_token(ILLEGAL)|>
181 "\"" <|push_token(STRING)|> 186 "\"" <|push_token(STRING)|>
182 eof <|terminate_illegal|> 187 eof <|terminate_illegal|>
183 catch_all <||continue> 188 catch_all <||continue>
184 189
185 <<SingleQuoteString>> 190 <<SingleQuoteString>>
186 /\\\n\r?/ <||continue> 191 /\\\n\r?/ <||continue>
187 /\\\r\n?/ <||continue> 192 /\\\r\n?/ <||continue>
188 /\\./ <||continue> 193 /\\./ <||continue>
189 /\n|\r/ <|push_token(ILLEGAL)|> 194 /\n|\r/ <|push_token(ILLEGAL)|>
190 "'" <|push_token(STRING)|> 195 "'" <|push_token(STRING)|>
191 eof <|terminate_illegal|> 196 eof <|terminate_illegal|>
192 catch_all <||continue> 197 catch_all <||continue>
193 198
194 <<Identifier>> 199 <<Identifier>>
195 identifier_char <|push_token(IDENTIFIER)|continue> 200 identifier_char <|push_token(IDENTIFIER)|continue>
196 /\\u[0-9a-fA-F]{4}/ <{ 201 /\\u[0-9a-fA-F]{4}/ <{
197 if (V8_UNLIKELY(!ValidIdentifierStart())) { 202 if (V8_UNLIKELY(!ValidIdentifierPart())) {
198 PUSH_TOKEN(Token::ILLEGAL); 203 goto default_action;
199 // need to goto something here
200 } 204 }
201 }|push_token(IDENTIFIER)|continue> 205 }|push_token(IDENTIFIER)|continue>
202 206
203 <<SingleLineComment>> 207 <<SingleLineComment>>
204 line_terminator <|push_line_terminator|> 208 line_terminator <|push_line_terminator|>
205 catch_all <||continue> 209 catch_all <||continue>
206 210
207 <<MultiLineComment>> 211 <<MultiLineComment>>
208 "*/" <|skip|> 212 "*/" <|skip|>
209 # TODO find a way to generate the below rule 213 # TODO find a way to generate the below rule
210 /\*[^\/]/ <||continue> 214 /\*[^\/]/ <||continue>
211 line_terminator <push_line_terminator||continue> 215 line_terminator <push_line_terminator||continue>
212 catch_all <||continue> 216 catch_all <||continue>
213 217
214 <<HtmlComment>> 218 <<HtmlComment>>
215 "-->" <|skip|> 219 "-->" <|skip|>
216 # TODO find a way to generate the below rules 220 # TODO find a way to generate the below rules
217 /--./ <||continue> 221 /--./ <||continue>
218 /-./ <||continue> 222 /-./ <||continue>
219 line_terminator <push_line_terminator||continue> 223 line_terminator <push_line_terminator||continue>
220 catch_all <||continue> 224 catch_all <||continue>
OLDNEW
« no previous file with comments | « src/lexer/even-more-experimental-scanner.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698