Hello,
I've been hacking on a Pygame-based viewer for the control flow graphs. See pypy/translator/tool/pygame/graphviewer.py. The idea is to display
graph as computed by 'dot', but more interactively. The hard part was to figure out where, in the image, each variable name actually is on the screen; now you can move the mouse around and when it is over a variable name you see the corresponding annotation, inferred by the new stuff in
In order to make Graphviewer work on windows I had to make some changes, concerning handling of binary files. I have attached a patch. I dont want to check it in because I dont think it is the right solution, and it doesnt work on linux. Great and fun work Armin Anders Lehmann "Armin Rigo" <arigo@tunes.org> wrote in message news:20040511195637.GA25476@vicky.ecs.soton.ac.uk... the pypy/annotation/.
The goal is to clean up and link it to the annotator a bit more, so that
you
can see it while it progresses (as if doing a step-by-step debugging). I guess it would be quite a useful debugging tool, aside from being presentation-friendly :-)
A bientot,
Armin. _______________________________________________ pypy-dev@codespeak.net http://codespeak.net/mailman/listinfo/pypy-dev
begin 666 grapviewer_win.patch M26YD97@Z('-R8R]P>7!Y+W1R86YS;&%T;W(O=&]O;"]M86ME7V1O="YP>0T* M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T] M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0T*+2TM('-R8R]P>7!Y+W1R86YS;&%T M;W(O=&]O;"]M86ME7V1O="YP>0DH<F5V:7-I;VX@-#,W,BD-"BLK*R!S<F,O M<'EP>2]T<F%N<VQA=&]R+W1O;VPO;6%K95]D;W0N<'D)*'=O<FMI;F<@8V]P M>2D-"D! ("TQ-C L." K,38P+#$R($! #0H@(" @("-P<FEN="!S;W5R8V4* M(" @("!D97-T+G=R:71E*'-O=7)C92D*(" @("!P<V1E<W0@/2!D97-T+FYE M=V5X="AT87)G970I"BT@(" @;W5T(#T@97AE8U]C;60H)V1O=" M5"5S("5S M)R E("AT87)G970L('-T<BAD97-T*2DI"BT@(" @<'-D97-T+G=R:71E*&]U M="D**R @("!I9B!T87)G970]/2=P;F<G.@HK(" @(" @(" @;6]D93TG8B<@ M"BL@(" @96QS93H**R @(" @(" @;6]D93TG="<**R @("!O=70@/2!E>&5C M7V-M9"@G9&]T("U4)7,@)7,G("4@*'1A<F=E="P@<W1R*&1E<W0I*2QM;V1E M*0HK(" @('!S9&5S="YW<FET92AO=70L;6]D92D*(" @(" C<')I;G0@(G=R B;W1E(BP@<'-D97-T"B @(" @<F5T=7)N('!S9&5S= H@"@`` ` end