Till Schneidereit (2014-10-01T16:02:13.000Z)
On Wed, Oct 1, 2014 at 5:39 PM, Mark S. Miller <erights at google.com> wrote:

> On Wed, Oct 1, 2014 at 8:20 AM, Oliver Hunt <oliver at apple.com> wrote:
>
>> JSC does lazy parsing of nested functions and we have no problem
>> reporting static errors, so i’m not sure what you believe is the problem
>> here.
>>
>
> Hi Oliver,
>
> First, I agree with you. This shouldn't be a problem.
>
> However, both JSC and v8 cause confusion when they use the term "lazy
> parsing". There are plenty of static errors that could not be reported with
> a truly lazy parser, i.e., one which actually postpones parsing. v8 for
> example uses a lightweight but accurate parser that is supposed to catch
> early errors early, but, afaik, doesn't construct an actual ast.
>

SpiderMonkey in some places uses the term "lazy parsing", too, somewhat
unfortunately. Mostly, though, we refer to bytecode-less functions as lazy,
and call the initial parsing "syntax parsing". Which should be more
indicative of what it actually does.

Also, I'm pretty sure that we correctly report these static errors even
when they occur in syntax-only parsed functions (modulo bugs in the WIP
implementation in bug 611388[1]).

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=611388
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20141001/9bb6c593/attachment.html>
domenic at domenicdenicola.com (2014-10-15T18:41:51.633Z)
On Wed, Oct 1, 2014 at 5:39 PM, Mark S. Miller <erights at google.com> wrote:

> However, both JSC and v8 cause confusion when they use the term "lazy
> parsing". There are plenty of static errors that could not be reported with
> a truly lazy parser, i.e., one which actually postpones parsing. v8 for
> example uses a lightweight but accurate parser that is supposed to catch
> early errors early, but, afaik, doesn't construct an actual ast.
>

SpiderMonkey in some places uses the term "lazy parsing", too, somewhat
unfortunately. Mostly, though, we refer to bytecode-less functions as lazy,
and call the initial parsing "syntax parsing". Which should be more
indicative of what it actually does.

Also, I'm pretty sure that we correctly report these static errors even
when they occur in syntax-only parsed functions (modulo bugs in the WIP
implementation in bug 611388[1]).

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=611388
domenic at domenicdenicola.com (2014-10-15T18:42:02.883Z)
On Wed, Oct 1, 2014 at 5:39 PM, Mark S. Miller <erights at google.com> wrote:

> However, both JSC and v8 cause confusion when they use the term "lazy
> parsing". There are plenty of static errors that could not be reported with
> a truly lazy parser, i.e., one which actually postpones parsing. v8 for
> example uses a lightweight but accurate parser that is supposed to catch
> early errors early, but, afaik, doesn't construct an actual ast.
>

SpiderMonkey in some places uses the term "lazy parsing", too, somewhat
unfortunately. Mostly, though, we refer to bytecode-less functions as lazy,
and call the initial parsing "syntax parsing". Which should be more
indicative of what it actually does.

Also, I'm pretty sure that we correctly report these static errors even
when they occur in syntax-only parsed functions (modulo bugs in the WIP
implementation in [bug 611388][1]).

[1]: https://bugzilla.mozilla.org/show_bug.cgi?id=611388