move repeated code block to mini function for reading indented lines
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 3 Oct 2023 14:29:55 +0000 (15:29 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 22 Dec 2023 19:26:21 +0000 (19:26 +0000)
src/openpower/decoder/pseudo/pagereader.py

index 80a1a4c9b251ec9cd3d134c5ba53eceecb49ca57..d3f51cd5f3a2520c2b7fb5fdec51bfab4cbd26a3 100644 (file)
@@ -85,6 +85,17 @@ def operands(opcode, desc):
         if operand:
             yield operand
 
+def get_indented_lines(lines):
+    li = []
+    while lines:
+        l = lines.pop(0).rstrip()
+        if len(l) == 0:
+            break
+        assert l.startswith('    '), ("4spcs not found in line %s" % l)
+        l = l[4:]  # lose 4 spaces
+        li.append(l)
+    return li
+
 
 class ISA:
     def __init__(self):
@@ -328,14 +339,7 @@ class ISA:
             assert len(l) == 0, ("blank line not found %s" % l)
 
             # get special regs
-            li = []
-            while lines:
-                l = lines.pop(0).rstrip()
-                if len(l) == 0:
-                    break
-                assert l.startswith('    '), ("4spcs not found in line %s" % l)
-                l = l[4:]  # lose 4 spaces
-                li.append(l)
+            li = get_indented_lines(lines)
             d['sregs'] = li
 
             # add in opcode