From 7664bc161b551677962a173c16c960565102116c Mon Sep 17 00:00:00 2001 From: Ruben Ayrapetyan Date: Sun, 5 Jul 2015 22:29:50 +0300 Subject: [PATCH] Replace character constants with corresponding LIT_CHAR_* defines in lexer_parse_string (renamed from parse_string). JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com --- jerry-core/parser/js/lexer.cpp | 40 ++++++++++++++-------------------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/jerry-core/parser/js/lexer.cpp b/jerry-core/parser/js/lexer.cpp index bfce200d8..7f912c541 100644 --- a/jerry-core/parser/js/lexer.cpp +++ b/jerry-core/parser/js/lexer.cpp @@ -983,25 +983,26 @@ lexer_parse_number (void) * Parse string literal (ECMA-262 v5, 7.8.4) */ static token -parse_string (void) +lexer_parse_string (void) { ecma_char_t c = (ecma_char_t) LA (0); - JERRY_ASSERT (c == '\'' || c == '"'); + JERRY_ASSERT (c == LIT_CHAR_SINGLE_QUOTE + || c == LIT_CHAR_DOUBLE_QUOTE); + /* Consume quote character */ consume_char (); new_token (); - const bool is_double_quoted = (c == '"'); - const char end_char = (is_double_quoted ? '"' : '\''); + const ecma_char_t end_char = c; bool is_escape_sequence_occured = false; do { - c = (ecma_char_t) LA (0); + c = LA (0); consume_char (); - if (c == '\0') + if (c == LIT_CHAR_NULL) { PARSE_ERROR ("Unclosed string", token_start - buffer_start); } @@ -1009,28 +1010,18 @@ parse_string (void) { PARSE_ERROR ("String literal shall not contain newline character", token_start - buffer_start); } - else if (c == '\\') + else if (c == LIT_CHAR_BACKSLASH) { is_escape_sequence_occured = true; ecma_char_t nc = (ecma_char_t) LA (0); + consume_char (); - if (lexer_convert_single_escape_character (nc, NULL)) + if (nc == LIT_CHAR_CR) { - consume_char (); - } - else if (lit_char_is_line_terminator (nc)) - { - consume_char (); - - if (nc == LIT_CHAR_CR) + if (LA (0) == LIT_CHAR_LF) { - nc = (ecma_char_t) LA (0); - - if (nc == LIT_CHAR_LF) - { - consume_char (); - } + consume_char (); } } } @@ -1058,7 +1049,7 @@ parse_string (void) token_start = NULL; return ret; -} /* parse_string */ +} /* lexer_parse_string */ /** * Parse string literal (ECMA-262 v5, 7.8.5) @@ -1223,9 +1214,10 @@ lexer_next_token_private (void) return create_token (TOK_EOF, 0); } - if (c == '\'' || c == '"') + if (c == LIT_CHAR_SINGLE_QUOTE + || c == LIT_CHAR_DOUBLE_QUOTE) { - return parse_string (); + return lexer_parse_string (); } if (isspace (c))