@@ -983,54 +983,45 @@ lexer_parse_number (void)
983983 * Parse string literal (ECMA-262 v5, 7.8.4)
984984 */
985985static token
986- parse_string (void )
986+ lexer_parse_string (void )
987987{
988988 ecma_char_t c = (ecma_char_t ) LA (0 );
989- JERRY_ASSERT (c == ' \' ' || c == ' "' );
989+ JERRY_ASSERT (c == LIT_CHAR_SINGLE_QUOTE
990+ || c == LIT_CHAR_DOUBLE_QUOTE);
990991
992+ /* Consume quote character */
991993 consume_char ();
992994 new_token ();
993995
994- const bool is_double_quoted = (c == ' "' );
995- const char end_char = (is_double_quoted ? ' "' : ' \' ' );
996+ const ecma_char_t end_char = c;
996997
997998 bool is_escape_sequence_occured = false ;
998999
9991000 do
10001001 {
1001- c = ( ecma_char_t ) LA (0 );
1002+ c = LA (0 );
10021003 consume_char ();
10031004
1004- if (c == ' \0 ' )
1005+ if (c == LIT_CHAR_NULL )
10051006 {
10061007 PARSE_ERROR (" Unclosed string" , token_start - buffer_start);
10071008 }
10081009 else if (lit_char_is_line_terminator (c))
10091010 {
10101011 PARSE_ERROR (" String literal shall not contain newline character" , token_start - buffer_start);
10111012 }
1012- else if (c == ' \\ ' )
1013+ else if (c == LIT_CHAR_BACKSLASH )
10131014 {
10141015 is_escape_sequence_occured = true ;
10151016
10161017 ecma_char_t nc = (ecma_char_t ) LA (0 );
1018+ consume_char ();
10171019
1018- if (lexer_convert_single_escape_character (nc, NULL ))
1019- {
1020- consume_char ();
1021- }
1022- else if (lit_char_is_line_terminator (nc))
1020+ if (nc == LIT_CHAR_CR)
10231021 {
1024- consume_char ();
1025-
1026- if (nc == LIT_CHAR_CR)
1022+ if (LA (0 ) == LIT_CHAR_LF)
10271023 {
1028- nc = (ecma_char_t ) LA (0 );
1029-
1030- if (nc == LIT_CHAR_LF)
1031- {
1032- consume_char ();
1033- }
1024+ consume_char ();
10341025 }
10351026 }
10361027 }
@@ -1058,7 +1049,7 @@ parse_string (void)
10581049 token_start = NULL ;
10591050
10601051 return ret;
1061- } /* parse_string */
1052+ } /* lexer_parse_string */
10621053
10631054/* *
10641055 * Parse string literal (ECMA-262 v5, 7.8.5)
@@ -1223,9 +1214,10 @@ lexer_next_token_private (void)
12231214 return create_token (TOK_EOF, 0 );
12241215 }
12251216
1226- if (c == ' \' ' || c == ' "' )
1217+ if (c == LIT_CHAR_SINGLE_QUOTE
1218+ || c == LIT_CHAR_DOUBLE_QUOTE)
12271219 {
1228- return parse_string ();
1220+ return lexer_parse_string ();
12291221 }
12301222
12311223 if (isspace (c))
0 commit comments