This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GDB frontends, MI-speak and object notation


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
ã


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]