[RFC 0/8] Create MI commands using python

Jan Vrany
2019-04-18T15:23:53Z

This patch series adds a possibility to create new MI commands using python.

The code is based on a few year old attempt of Didier Nadeau who did the
heavy lifting. I merely updated his original code to work with today's GDB,
add tests and polished it a little.

At this point, there's no documentation. I expect a discussion and changes
in behavior and/or output - I'll write it once the rest is agreed on.

Didier Nadeau (3):
Use std::map for MI commands in mi-cmds.c
Use classes to represent MI Command instead of structures
Create MI commands using python.

Jan Vrany (5):
mi/python: C++ify python MI command handling code
mi/python: Polish MI output of python commands
mi/python: Handle python exception when executiong python-defined MI
commands
mi/python: Add tests for python-defined MI commands
mi/python: Allow redefinition of python MI commands

gdb/ChangeLog | 31 ++
gdb/Makefile.in | 1 +
gdb/mi/mi-cmd-info.c | 4 +-
gdb/mi/mi-cmds.c | 537 +++++++++++++-----------
gdb/mi/mi-cmds.h | 94 ++++-
gdb/mi/mi-main.c | 18 +-
gdb/mi/mi-main.h | 1 +
gdb/mi/mi-parse.c | 20 +-
gdb/mi/mi-parse.h | 6 +-
gdb/python/py-micmd.c | 300 +++++++++++++
gdb/python/py-micmd.h | 6 +
gdb/python/python-internal.h | 2 +
gdb/python/python.c | 3 +-
gdb/testsuite/ChangeLog | 11 +
gdb/testsuite/gdb.python/py-mi-cmd-1.py | 27 ++
gdb/testsuite/gdb.python/py-mi-cmd-2.py | 13 +
gdb/testsuite/gdb.python/py-mi-cmd.exp | 77 ++++
17 files changed, 851 insertions(+), 300 deletions(-)
create mode 100644 gdb/python/py-micmd.c
create mode 100644 gdb/python/py-micmd.h
create mode 100644 gdb/testsuite/gdb.python/py-mi-cmd-1.py
create mode 100644 gdb/testsuite/gdb.python/py-mi-cmd-2.py
create mode 100644 gdb/testsuite/gdb.python/py-mi-cmd.exp

--
2.20.1