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.
