Nested Quasis

Mark S. Miller erights at google.com
Thu Feb 2 16:15:48 PST 2012


On Thu, Feb 2, 2012 at 2:00 PM, Waldemar Horwat <waldemar at google.com> wrote:

> OK.  This introduces yet another lexing context, in which all productions
> *except* QuasiMiddle and QuasiEnd are disallowed, and white space and
> comment handling is funny.  That works if the expressions must be one of
> the two forms:
>
> $id
> ${expr}
>
> Is that the exhaustive list, or are we looking at other forms such as $$, $
> id.id, $id[expr], etc.?
>


I'll let Mike speak for the details of what he really wants to propose. But
here are the answers from E:

escapes with the quasi literal text are taken care of by the QuasiChar
production, much like the existing definition of DoubleStringCharacter:

    QuasiChar ::
        SourceCharacter but not one of $ or `
        $ $
        $ `
        $ \ EscapeSequence

So that `$$` === "$", `$`` === "`", and `$\n` === "\n", respectively.

Regarding `...$id.id...` and `...$id[expr]...`, only the first id in each
case in in the quasiHole. All the text afterwards is part of the QuasiClose.

-- 
    Cheers,
    --MarkM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120202/14274cbc/attachment.html>


More information about the es-discuss mailing list