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

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

Issue 59823005: Experimental parser: handle hex escapes in strings (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 | « no previous file | 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 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 goto default_action; 193 goto default_action;
194 } 194 }
195 }|push_token(IDENTIFIER)|Identifier> 195 }|push_token(IDENTIFIER)|Identifier>
196 196
197 eof <|terminate|> 197 eof <|terminate|>
198 default_action <push_token(ILLEGAL)> 198 default_action <push_token(ILLEGAL)>
199 199
200 <<DoubleQuoteString>> 200 <<DoubleQuoteString>>
201 /\\\n\r?/ <||continue> 201 /\\\n\r?/ <||continue>
202 /\\\r\n?/ <||continue> 202 /\\\r\n?/ <||continue>
203 /\\./ <||continue> 203 /\\[xX][:hex_digit:]{2}/ <||continue>
204 /\\[^xX\r\n]/ <||continue>
204 /\n|\r/ <|push_token(ILLEGAL)|> 205 /\n|\r/ <|push_token(ILLEGAL)|>
205 "\"" <|push_token(STRING)|> 206 "\"" <|push_token(STRING)|>
206 eof <|terminate_illegal|> 207 eof <|terminate_illegal|>
207 catch_all <||continue> 208 catch_all <||continue>
208 209
209 <<SingleQuoteString>> 210 <<SingleQuoteString>>
210 /\\\n\r?/ <||continue> 211 /\\\n\r?/ <||continue>
211 /\\\r\n?/ <||continue> 212 /\\\r\n?/ <||continue>
212 /\\./ <||continue> 213 /\\[xX][:hex_digit:]{2}/ <||continue>
214 /\\[^xX\r\n]/ <||continue>
213 /\n|\r/ <|push_token(ILLEGAL)|> 215 /\n|\r/ <|push_token(ILLEGAL)|>
214 "'" <|push_token(STRING)|> 216 "'" <|push_token(STRING)|>
215 eof <|terminate_illegal|> 217 eof <|terminate_illegal|>
216 catch_all <||continue> 218 catch_all <||continue>
217 219
218 <<Identifier>> 220 <<Identifier>>
219 identifier_char <|push_token(IDENTIFIER)|continue> 221 identifier_char <|push_token(IDENTIFIER)|continue>
220 /\\u[0-9a-fA-F]{4}/ <{ 222 /\\u[0-9a-fA-F]{4}/ <{
221 if (V8_UNLIKELY(!ValidIdentifierPart())) { 223 if (V8_UNLIKELY(!ValidIdentifierPart())) {
222 goto default_action; 224 goto default_action;
223 } 225 }
224 }|push_token(IDENTIFIER)|continue> 226 }|push_token(IDENTIFIER)|continue>
225 227
226 <<SingleLineComment>> 228 <<SingleLineComment>>
227 line_terminator <|push_line_terminator|> 229 line_terminator <|push_line_terminator|>
228 eof <|skip_and_terminate|> 230 eof <|skip_and_terminate|>
229 catch_all <||continue> 231 catch_all <||continue>
230 232
231 <<MultiLineComment>> 233 <<MultiLineComment>>
232 /\*+\// <|skip|> 234 /\*+\// <|skip|>
233 # TODO find a way to generate the below rule 235 # TODO find a way to generate the below rule
234 /\*+[^\/*]/ <||continue> 236 /\*+[^\/*]/ <||continue>
235 line_terminator <push_line_terminator||continue> 237 line_terminator <push_line_terminator||continue>
236 eof <|skip_and_terminate|> 238 eof <|skip_and_terminate|>
237 catch_all <||continue> 239 catch_all <||continue>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698