From b0a29f3c124873da5d22419acd9d10ffaa59ca41 Mon Sep 17 00:00:00 2001 From: pompolic <pompolic@special-circumstanc.es> Date: Thu, 24 Jun 2021 21:56:17 +0200 Subject: [PATCH] Fix error on script load + cleanup --- gdb-port/parser-name-instrumentation-gdb.py | 5 ----- gdb-port/parser-type-instrumentation-gdb.py | 18 +++++++++--------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/gdb-port/parser-name-instrumentation-gdb.py b/gdb-port/parser-name-instrumentation-gdb.py index 3ab8451..0d9b504 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 9a3fbd2..b6d7a30 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 + } -- GitLab