From: Dmitry Dzhus <dima@sphinx.net.ru>
To: gdb@sources.redhat.com
Subject: GDB frontends, MI-speak and object notation
Date: Thu, 28 May 2009 12:00:00 -0000 [thread overview]
Message-ID: <87d49tv3z2.fsf@sphinx.net.ru> (raw)
Hi all.
This summer I'm working on improvement for GDB Emacs frontend using
GDB/MI as a part of Google Summer of Code, and I'm looking for advice.
I wonder how other front-end developers handle GDB/MI output messages.
In the code I'm working on, regular expressions are used to parse MI
messages and extract certain values from them. This is pretty
straightforward to write, but doesn't seem to fully use the
«structuredness» of MI-speak, and lacks the spirit of MI. I'm reviewing
means of mapping MI (which seems to be a subset of JSON with a few
cosmetic differences and exceptions) to object-like structures so I can
work with it on a higher level. Has anyone had similar ideas?
I work with Lisp, so the mapping might be as follows:
threads=[{id="1", target-id="LWP18334", frame={level="0",
addr="0x08048b9a", func="mult_matrices_mt", args=[{name="m1",
value="0x804ba30"}, {name="m2", value="0x804ba30"}], file="test.c",
fullname="/home/sphinx/projects/gsoc/test.c", line="142"},
state="stopped"}], current-thread-id="1"
to
((threads . (((id . "1")
(target-id . "LWP18334")
(frame . ((level . "0")
(addr . "0x08048b9a")
(func . "mult_matrices_mt")
(args . (((name . "m1")
(value . "0x804ba30"))
((name . "m2")
(value . "0x804ba30"))))
(file . "test.c")
(fullname . "/home/sphinx/projects/gsoc/test.c")
(line . "142")))
(state . "stopped"))))
(current-thread-id . "1"))
--
Happy Hacking.
http://sphinx.net.ru
ã
next reply other threads:[~2009-05-28 12:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-28 12:00 Dmitry Dzhus [this message]
2009-05-28 13:32 ` Marc Khouzam
2009-05-28 13:57 ` André Pönitz
2009-05-29 9:25 ` Dmitry Dzhus
2009-05-29 15:30 ` Marc Khouzam
2009-05-30 16:44 ` Dmitry Dzhus
2009-05-30 19:24 ` Vladimir Prus
2009-05-30 21:27 ` Tom Tromey
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=87d49tv3z2.fsf@sphinx.net.ru \
--to=dima@sphinx.net.ru \
--cc=gdb@sources.redhat.com \
/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