@ -162,13 +162,20 @@ PEG.compiler.emitter = function(ast) {
" * string literal except for the closing quote character, backslash," ,
" * string literal except for the closing quote character, backslash," ,
" * carriage return, line separator, paragraph separator, and line feed." ,
" * carriage return, line separator, paragraph separator, and line feed." ,
" * Any character may appear in the form of an escape sequence." ,
" * Any character may appear in the form of an escape sequence." ,
" *" ,
" * For portability, we also escape escape all control and non-ASCII" ,
" * characters. Note that \"\\0\" and \"\\v\" escape sequences are not used" ,
" * because JSHint does not like the first and IE the second." ,
" */" ,
" */" ,
" return '\"' + s" ,
" return '\"' + s" ,
" .replace(/\\\\/g, '\\\\\\\\') // backslash" ,
" .replace(/\\\\/g, '\\\\\\\\') // backslash" ,
" .replace(/\"/g, '\\\\\"') // closing quote character" ,
" .replace(/\"/g, '\\\\\"') // closing quote character" ,
" .replace(/\\r/g, '\\\\r') // carriage return" ,
" .replace(/\\x08/g, '\\\\b') // backspace" ,
" .replace(/\\t/g, '\\\\t') // horizontal tab" ,
" .replace(/\\n/g, '\\\\n') // line feed" ,
" .replace(/\\n/g, '\\\\n') // line feed" ,
" .replace(/[\\x80-\\uFFFF]/g, escape) // non-ASCII characters" ,
" .replace(/\\f/g, '\\\\f') // form feed" ,
" .replace(/\\r/g, '\\\\r') // carriage return" ,
" .replace(/[\\x00-\\x07\\x0B\\x0E-\\x1F\\x80-\\uFFFF]/g, escape)" ,
" + '\"';" ,
" + '\"';" ,
" }" ,
" }" ,
" " ,
" " ,