Warn on escape sequences

This commit is contained in:
Ilmir Usmanov
2014-10-05 20:09:50 +04:00
parent 3d5fd214f3
commit 17ee2eca50
2 changed files with 10 additions and 2 deletions
+4 -1
View File
@@ -776,7 +776,10 @@ parse_string (void)
/* Only single escape character is allowed. */
if (LA (1) == 'x' || LA (1) == 'u' || __isdigit (LA (1)))
{
PARSE_SORRY ("Escape sequences are not supported yet", token_start - buffer_start);
PARSE_WARN ("Escape sequences are ignored yet", token_start - buffer_start);
consume_char ();
consume_char ();
continue;
}
if ((LA (1) == '\'' && !is_double_quoted)
|| (LA (1) == '"' && is_double_quoted)
+6 -1
View File
@@ -28,6 +28,11 @@
__printf ("ERROR: Ln %d, Col %d: %s\n", line + 1, column + 1, MESSAGE); \
__exit (-1); \
} while (0)
#define PARSE_WARN(MESSAGE, LOCUS) do { \
size_t line, column; \
lexer_locus_to_line_and_column ((size_t) (LOCUS), &line, &column); \
__printf ("WARNING: Ln %d, Col %d: %s\n", line + 1, column + 1, MESSAGE); \
} while (0)
#define PARSE_ERROR_VARG(MESSAGE, LOCUS, ...) do { \
size_t line, column; \
lexer_locus_to_line_and_column ((size_t) (LOCUS), &line, &column); \
@@ -36,7 +41,7 @@
for (size_t i = 0; i < column; i++) { \
__putchar (' '); \
} \
__printf ("\n^\n"); \
__printf ("^\n"); \
__printf ("ERROR: Ln %d, Col %d: ", line + 1, column + 1); \
__printf (MESSAGE, __VA_ARGS__); \
__printf ("\n"); \