From bc139d10fcd5ab25cf1bf5b3c749c8d915391d55 Mon Sep 17 00:00:00 2001 From: Leonidas Fegaras Date: Tue, 21 Apr 2015 13:29:15 -0500 Subject: [PATCH] Update JSON.lex --- core/src/main/java/org/apache/mrql/JSON.lex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/apache/mrql/JSON.lex b/core/src/main/java/org/apache/mrql/JSON.lex index c75d1bb..6874863 100644 --- a/core/src/main/java/org/apache/mrql/JSON.lex +++ b/core/src/main/java/org/apache/mrql/JSON.lex @@ -44,6 +44,10 @@ import java_cup.runtime.Symbol; return new Symbol(s,o); } + public String format ( String s ) { + return s.replaceAll("\\\\t", "\t").replaceAll("\\\\n", "\n").replaceAll("\\\\\"", "\""); + } + %} INT = [+-]?[0-9]+ @@ -51,7 +55,7 @@ DOUBLE = [+-]?[0-9]+([\.][0-9]+)?([eE][+-]?[0-9]+)? %% -\"[^\"]*\" { return symbol(jsym.STRING,yytext().substring(1,yytext().length()-1)); } +\"("\\\""|[^\"])*\" { return symbol(jsym.STRING,format(yytext().substring(1,yytext().length()-1))); } {INT} { return symbol(jsym.INTEGER,new Long(yytext())); } {DOUBLE} { return symbol(jsym.DOUBLE,new Double(yytext())); } true { return symbol(jsym.TRUE); }