This is a parser for the output from GDB running with the MI text interface. More information about GBI/MI is available here: https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html
The command line
The command line tool can take a filename as an argument, or read the content from stdin. It can operate in two modes,
lines (default). In
output mode, it expects to see an entire GDB/MI transaction, starting with 0 or more bits of debugging output, followed by a result, followed by being dropped back at a
(gdb) prompt with a trailing newline. The JSON-ified version will be written to stdout.
lines mode, the CLI will read the input file, split it by lines (
\n only), then parse each line. A JSON-ified array of each line's content will be written to stdout, with
null in place of empty lines.
The main file,
src/gdbmi.js exports two main objects,
outputParser - these are the PEG.js generated parsers for the entire output of a GDB/MI command, or just a single line - refer above for more information.
parse method on the parse to do the actual parsing, or use the shortcuts,
The parser is generated by PEG.js from the grammar file at
src/gdbmi.pegjs. If you want to rebuild the parsers, you need to install dev dependencies, and run:
./node_modules/.bin/pegjs --allowed-start-rules output src/gdbmi.pegjs src/gdbmi-output.js ./node_modules/.bin/pegjs --allowed-start-rules single_line src/gdbmi.pegjs src/gdbmi-line.js