ScEpTIC.AST.transformations.virtual_memory.parsers.elements package

Submodules

ScEpTIC.AST.transformations.virtual_memory.parsers.elements.basic_blocks_parser module

class ScEpTIC.AST.transformations.virtual_memory.parsers.elements.basic_blocks_parser.BasicBlocksParser(function, function_name)

Bases: object

Module for parsing the AST into a sequence of basic blocks

parse_ast()

Parses the AST and identifies all the BasicBlocks

ScEpTIC.AST.transformations.virtual_memory.parsers.elements.conditional_parser module

class ScEpTIC.AST.transformations.virtual_memory.parsers.elements.conditional_parser.ConditionalParser(basic_blocks, function_name)

Bases: object

Module for parsing basic blocks into conditionals

adjust_conditional_basic_blocks(conditional)

Removes the loop basic blocks and inserts the conditional object in the list of basic blocks

force_path_fill = False
identify_conditional()

Identifies and builds a conditional object

identify_conditionals()

Iterates over the basic blocks and builds all the conditionals objects.

ScEpTIC.AST.transformations.virtual_memory.parsers.elements.loop_parser module

class ScEpTIC.AST.transformations.virtual_memory.parsers.elements.loop_parser.LoopParser(basic_blocks, function_name)

Bases: object

Module for parsing basic blocks into loops

adjust_loop_basic_blocks(loop)

Removes the loop basic blocks and inserts the loop object in the list of basic blocks

extract_loop(latch_label)

Builds a loop object

identify_loop()

Identifies and builds a loop object

identify_loops()

Iterates over the basic blocks and builds all the loop objects.

Module contents