I use --print-ast all of the time (i.e. about twice per week). I almost
never use --print-source at all (i.e. can't remember last time). Just my
two cents.

Best regards,
Michael

On Tue, May 10, 2016 at 10:08 PM, Adam Klein <[email protected]> wrote:

> In the same file, we have --print-ast, which is a decent visualization of
> what's actually in the AST (and I know Ross just used it last week to help
> triage a bug that I eventually fixed).
>
> On Tue, May 10, 2016 at 1:05 PM, Yang Guo <[email protected]> wrote:
>
>> I haven't used it ever, and I don't know anyone who did. Given that the
>> parser does a lot of desugaring nowadays, I don't think it still makes
>> sense to keep it.
>>
>> Then again, maybe we could re-purpose it as a tool to visualize parser
>> desugaring? I use --trace-regexp-parser a lot when adding new regexp
>> features, which essentially prints the regexp AST in a custom format for my
>> viewing pleasure.
>>
>> Cheers,
>>
>> Yang
>>
>> On Tue, May 10, 2016 at 9:39 PM Adam Klein <[email protected]> wrote:
>>
>>> I'm doing some cleanup in the AST which required modifications to
>>> prettyprinter.cc (in particular, I'm talking about PrettyPrinter, not
>>> AstPrinter or CallPrinter, which are also in that file). My cleanup was in
>>> ForOfStatement, where I'm trying to remove members that aren't actually
>>> used by consumers of the AST. But I'm not sure it's worth much work here to
>>> make this output readable. Here's the current output, in the face of all
>>> our desugaring:
>>>
>>> $ d8 -e 'for (x of []);'
>>> [generating full code for user-defined function: ]
>>> --- Source from AST ---
>>> {  = undefined;  = 0; try { try { { .result = undefined; for (x of [
>>>  literal_index = 0 ]) { ;  = 0;  } } } catch (.catch) { if (( === 2))  = 1;
>>> .result = %ReThrow
>>> (.catch); } } finally .result = .result; if ((!(( === 0) || (.iterator
>>> === undefined))))  = (.iterator).return; if (( == null)) ; else if (( ===
>>> 1)) { if (((typeof ) === "function")) ; else throw %NewTypeError
>>> (130, ""); try { %_Call
>>> (, .iterator); } catch (.catch) { } } else {  = %_Call
>>> (, .iterator); if (%_IsJSReceiver
>>> ()) ; else %ThrowIteratorResultNotAnObject
>>> (); }  .result = .result;  } return .result;
>>>
>>> [lots of other generated source]
>>>
>>> That's pretty darn unreadable already. Is this something worth fixing?
>>> I've personally never used this flag; does anyone else, or know of a time
>>> when it was useful?
>>>
>>> - Adam
>>>
>>> --
>>> --
>>> v8-dev mailing list
>>> [email protected]
>>> http://groups.google.com/group/v8-dev
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "v8-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
>> --
>> v8-dev mailing list
>> [email protected]
>> http://groups.google.com/group/v8-dev
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "v8-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> --
> v8-dev mailing list
> [email protected]
> http://groups.google.com/group/v8-dev
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to