linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christopher Li <sparse@chrisli.org>
To: Linux-Sparse <linux-sparse@vger.kernel.org>
Subject: Re: [0/4] inspector for sparse
Date: Fri, 2 Apr 2010 11:59:39 -0700	[thread overview]
Message-ID: <w2j70318cbf1004021159y2fa50d58y62bd878c6355a972@mail.gmail.com> (raw)
In-Reply-To: <u2n70318cbf1004021136t65b4d8acmf8bfd7e18b410dfe@mail.gmail.com>

I add a treeview branch on sparse/chrisl so you can pull from it.

http://git.kernel.org/?p=devel/sparse/chrisl/sparse.git;a=shortlog;h=refs/heads/treeview

In fedora, you need to install gtk2-devel package to enable it.

Chris

On Fri, Apr 2, 2010 at 11:36 AM, Christopher Li <sparse@chrisli.org> wrote:
> Hi,
>
> When I debug the enum int patch, some times I wish I have a better tools
> to help me understand what is going on with the internal sprase data structure.
> There is debug_symbol() to help in some degree, but it does not show anything
> other than symbol type. E.g. expression and statments.
>
> test-parsing's output is more like assembly rather than a syntax tree.
> There is debug_symbol() but it only print out the symbol type. It does not
> go into expression. So the interesting stuff like expression  is hard to see.
>
> I want some thing it can display different types of C structure with expandable
> sub node for its member. Some thing like a file folder you can expand it see its
> content.
>
> I first look at the GtkTreeView. It seems capable of doing what I want.
> The interface is cumbersome to use and I am really not a GUI person.
> So I build some custom tree model to simplify the interaction with GTK.
> That is the first patch in the series.
>
> The second patch of the series try to inspect C structure one at time.
> It is driven by the gtk tree model. It use a some glib function but it does
> not have any GTK knowledge.
>
> The interface is generic enough that you should be able to do a cursor
> version from it without changing the code.
>
> The third patch adds the test-inspect program which launch a gtk window.
> Oh, I did not bother to make the first two patches compile itself
> until this one.
>
> Please play with it. As always, feed back are welcome.
>
> The C structure inspection is rather incomplete currently. It is very easy to
> expand it to show additional types and members. The last patch is an example.
> It is going to be very rewarding to extend the inspector. It does not
> require you have deep understanding of the sparse AST tree, it helps
> *you* to understand how sparse internal AST works.
>
> So patches are very welcome as well. Any one want to help?
>
> Chris
>
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2010-04-02 18:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-02 18:36 [0/4] inspector for sparse Christopher Li
2010-04-02 18:59 ` Christopher Li [this message]
2010-04-23 20:30   ` Dan Carpenter
2010-04-23 20:37     ` Dan Carpenter
2010-04-25  8:37       ` Christopher Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=w2j70318cbf1004021159y2fa50d58y62bd878c6355a972@mail.gmail.com \
    --to=sparse@chrisli.org \
    --cc=linux-sparse@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).