diff options
-rw-r--r-- | perl_checker.src/lexer.mll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/perl_checker.src/lexer.mll b/perl_checker.src/lexer.mll index 069b4ec..cf93ee7 100644 --- a/perl_checker.src/lexer.mll +++ b/perl_checker.src/lexer.mll @@ -860,7 +860,7 @@ and string_escape = parse | '\n' { die lexbuf "do not use \"\\\" before end-of-line, it's useless and generally bad" } | '\\'{ next_s "\\" (Stack.pop next_rule) lexbuf } | ['b' 'f' 'a' 'r'] { string_escape_useful := Left true; next_s ("\\" ^ lexeme lexbuf) (Stack.pop next_rule) lexbuf } -| ['$' '@' '%' '{' '['] { +| ['$' '@' '%' '{' '[' ':'] { if !string_escape_useful = Left false then string_escape_useful := Right (lexeme lexbuf) ; next_s (lexeme lexbuf) (Stack.pop next_rule) lexbuf } @@ -891,7 +891,7 @@ and re_string_escape = parse | "x{" [^ '}']* '}' { hex_in_string lexbuf next_rule (skip_n_char_ 2 1 (lexeme lexbuf)) } | 'x' [^ '{'] _ { hex_in_string lexbuf next_rule (skip_n_char 1 (lexeme lexbuf)) } | '\n' { die lexbuf "do not use \"\\\" before end-of-line, it's useless and generally bad" } -| ['r' 'b' 'f' '$' '@' '%' 's' 'S' 'd' 'D' 'w' 'W' 'Q' 'E' 'b' '.' '*' '+' '?' '[' ']' '(' ')' '|' '{' '}' '-'] { +| ['r' 'b' 'f' '$' '@' '%' 's' 'S' 'd' 'D' 'w' 'W' 'Q' 'E' 'b' '.' '*' '+' '?' '[' ']' '(' ')' '|' '{' '}' '-' ':'] { next_s ("\\" ^ lexeme lexbuf) (Stack.pop next_rule) lexbuf } | _ { |