diff options
| author | s-ol <s+removethis@s-ol.nu> | 2021-05-22 13:03:56 +0000 |
|---|---|---|
| committer | s-ol <s+removethis@s-ol.nu> | 2021-05-22 13:03:56 +0000 |
| commit | 7d9fd6018aae0b60bbff268f2d4428c34f2bd3e4 (patch) | |
| tree | b0176c467c42222c6b7b81c85e96fd15f08f42f8 /subv.py | |
| parent | disable qemu bios (diff) | |
| download | subv-7d9fd6018aae0b60bbff268f2d4428c34f2bd3e4.tar.gz subv-7d9fd6018aae0b60bbff268f2d4428c34f2bd3e4.zip | |
more error reporting in format.py
Diffstat (limited to 'subv.py')
| -rw-r--r-- | subv.py | 21 |
1 files changed, 19 insertions, 2 deletions
@@ -223,12 +223,16 @@ def untag(part, expect=None): return part[0] def format_part(part): - """ oppposite of parse_part. + """ opposite of parse_part. >>> format_part((0,)) '00' >>> format_part((0x00,)) '00' + >>> format_part((16,)) + '10' + >>> format_part((0x10,)) + '10' >>> format_part(('label', 'tag*')) 'label/tag*' @@ -245,7 +249,7 @@ def format_part(part): return '/'.join([str(p) for p in part]) def format(line): - """ oppposite of parse. + """ opposite of parse. >>> format({ ... 'type': 'instr', @@ -262,6 +266,19 @@ def format(line): else: raise NotImplementedError() +def dump(line): + """ debug-friendly string representation of parsed lines. + + >>> dump({ + ... 'type': 'instr', + ... 'instr': [(255, 'op'), (0, 'subop', 'add'), (1, 'rd', 'x1'), ('label[11:0]', 'imm12')], + ... 'comment': "this does things." + ... }) + "instr[(255, 'op'), (0, 'subop', 'add'), (1, 'rd', 'x1'), ('label[11:0]', 'imm12')]" + """ + + return '{}{}'.format(line['type'], line[line['type']]) + def join_all(gen): res = '\n'.join(gen) return res |
