ES4 draft last call: line continuation in string and regex literals

Lars Hansen lhansen at adobe.com
Mon Mar 10 18:15:24 PDT 2008


> -----Original Message-----
> From: Waldemar Horwat [mailto:waldemar at google.com] 
> Sent: 10. mars 2008 18:59
> To: Lars Hansen
> Cc: es4-discuss Discuss
> Subject: Re: ES4 draft last call: line continuation in string 
> and regex literals
> 
> > The character sequence BACKSLASH <lineterminator> (where 
> > <lineterminator> will be one of the characters LF, LS, or PS) is 
> > removed from string literals delimited by either single or triple 
> > SINGLEQUOTE or DOUBLEQUOTE characters. (Triple-quoting is 
> defined in 
> > [5].)
> 
> This states that:
> 
> "abc\\
> tde"
> 
> evaluates to the string "abc<tab>de".
> 
> Is this really what we want?  I'd find such nested escape 
> sequences really strange.

That looks like an illegal token to me, since the lexer will read "a"
"b" "c" "\" and then see an unescaped linefeed.

Since the speclet states nothing about changing the way strings are
lexed, normal escape character processing should be in effect, and that
dictates that \\ is processed into \ independently of what follows.

--lars



More information about the Es4-discuss mailing list