/* MI Command Set - MI Command Parser.
- Copyright (C) 2000, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
Contributed by Cygnus Solutions (a Red Hat company).
This file is part of GDB.
#ifndef MI_PARSE_H
#define MI_PARSE_H
-#include <sys/time.h>
+#include "gdb_sys_time.h"
/* MI parser */
int thread_group; /* At present, the same as inferior number. */
int thread;
int frame;
+
+ /* The language that should be used to evaluate the MI command.
+ Ignored if set to language_unknown. */
+ enum language language;
};
-/* Attempts to parse CMD returning a ``struct mi_command''. If CMD is
- invalid, an error mesage is reported (MI format) and NULL is
- returned. For a CLI_COMMAND, COMMAND, TOKEN and OP are initialized.
- For an MI_COMMAND COMMAND, TOKEN, ARGS and OP are
- initialized. Un-initialized fields are zero. */
+/* Attempts to parse CMD returning a ``struct mi_parse''. If CMD is
+ invalid, an exception is thrown. For an MI_COMMAND COMMAND, ARGS
+ and OP are initialized. Un-initialized fields are zero. *TOKEN is
+ set to the token, even if an exception is thrown. It is allocated
+ with xmalloc; it must either be freed with xfree, or assigned to
+ the TOKEN field of the resultant mi_parse object, to be freed by
+ mi_parse_free. */
-extern struct mi_parse *mi_parse (char *cmd);
+extern struct mi_parse *mi_parse (const char *cmd, char **token);
-/* Free a command returned by mi_parse_command. */
+/* Free a command returned by mi_parse_command. */
extern void mi_parse_free (struct mi_parse *cmd);
+/* Parse a string argument into a print_values value. */
+
+enum print_values mi_parse_print_values (const char *name);
+
#endif