diff --git a/gdb-port/parser-name-instrumentation-gdb.py b/gdb-port/parser-name-instrumentation-gdb.py index 3ab8451b1381b855fa1d9d76ab2beb46255acb18..0d9b504cc506fdd02962f5513c01adaa7b45b889 100644 --- a/gdb-port/parser-name-instrumentation-gdb.py +++ b/gdb-port/parser-name-instrumentation-gdb.py @@ -385,11 +385,6 @@ class HammerParserBacktrace(gdb.Command): HammerParserBacktrace() -#TODO: HammerParserMemUse -# sample invocation: -#(gdb) hammer-parser-mem-use 0xfoo -#{ 0xaabb: 128, 0xccdd: 256 } - class HammerParserMemUse(gdb.Command): def __init__(self): super(HammerParserMemUse, self).__init__("hammer-parser-mem-use", gdb.COMMAND_OBSCURE) diff --git a/gdb-port/parser-type-instrumentation-gdb.py b/gdb-port/parser-type-instrumentation-gdb.py index 9a3fbd2069ca46fe0aea209c8560b4d8b9f4da0a..b6d7a30f11b4ea1e8bb9371db54060537762214a 100644 --- a/gdb-port/parser-type-instrumentation-gdb.py +++ b/gdb-port/parser-type-instrumentation-gdb.py @@ -2,13 +2,6 @@ # TODO: these can learn of parsers before the parser name instrumentation does # TopLevelParse should be amenable to adding parsers to the dict through here -vtables = { - 'sequence_vt': SequenceEnv, - 'ignore_vt': IgnoreEnv, - 'action_vt': ActionEnv, - 'and_vt': AndEnv - } - parser_name_defaults = { 'sequence_vt': '(Unnamed sequence)', 'ignore_vt': '(Unnamed ignore)', @@ -18,7 +11,7 @@ parser_name_defaults = { } class SequenceEnv: - def __init__(self, parser, top_level_parse) + def __init__(self, parser, top_level_parse): self.parser = parser self.member_parsers = [] @@ -31,7 +24,7 @@ class SequenceEnv: # TODO: maybe the loop can be replaced with a list comprehension #[top_level_parse.add_or_get_parser(gdb.parse_and_eval("((HSequence*) parser->env)->p_array[" + str(index) +"]")) for index in range(0, num_parsers)] - for index in xrange(0, num_parsers): + for index in range(0, num_parsers): parser_p = gdb.parse_and_eval("((HSequence*) parser->env)->p_array[" + str(index) + "]") parser_obj = top_level_parse.add_or_get_parser(parser_p) self.member_parsers.append(parser_obj) @@ -83,3 +76,10 @@ class AndEnv: member_parser_p = gdb.parse_and_eval("(HParser*) parser->env"); parser_obj = top_level_parse.add_or_get_parser(member_parser_p) self.member_parser = parser_obj + +vtables = { + 'sequence_vt': SequenceEnv, + 'ignore_vt': IgnoreEnv, + 'action_vt': ActionEnv, + 'and_vt': AndEnv + }