MCPcopy Create free account
hub / github.com/aff3ct/aff3ct / OutputStructure

Class OutputStructure

scripts/debug_parser/aff3ct_debug_parser.py:9–224  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7import mat4py
8
9class OutputStructure:
10 index = 0
11 frame_length = 0
12 data_format = ""
13 hex_format = False
14 name = ""
15 frames = []
16
17 def __init__(self):
18 self.frames = []
19
20 def import_frames(self, lines, key, inter_frame):
21 # list line numbers with specified keys
22 key_lns = []
23 for i in range(0, len(lines)):
24 if key in lines[i]:
25 key_lns.append(i)
26
27 for key_ln in key_lns:
28 first_frame_ln = key_ln + 1 + inter_frame * self.index
29 for i in range(0, inter_frame):
30 frame = lines[first_frame_ln + i]
31 if inter_frame > 1:
32 frame = frame[frame.find("(") + 1: frame.find(")")]
33 else:
34 frame = frame[frame.find("[") + 1: frame.find("]")]
35 frame = frame.replace(" ", "")
36 frame = frame.replace(",", " ")
37 frame = frame.split(" ")
38 self.frames.append(frame)
39 self.hex_format = "0x" in self.frames[0][0]
40
41 def export_as_text(self, path, frame_index=None):
42 with open(path, "w") as fout:
43 if frame_index is None:
44 fout.write(str(len(self.frames)) + "\n")
45 else:
46 fout.write("1" + "\n")
47 fout.write(self.data_format + "\n")
48 fout.write(str(self.frame_length) + "\n")
49
50 if frame_index is None:
51 for frame in self.frames:
52 self.export_frame_as_text(fout, frame)
53 else:
54 self.export_frame_as_text(fout, self.frames[frame_index])
55
56 def export_frame_as_text(self, fout, frame):
57 for i, value in enumerate(frame):
58 if i:
59 fout.write(" ")
60 fout.write(value)
61 fout.write("\n")
62
63 def export_as_source(self, path, frame_index=None):
64 export_all = False
65 if frame_index is None:
66 export_all = True

Callers 1

get_output_structuresFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected