ASC SOP and SAT support in Edit type

This commit is contained in:
2025-12-16 12:14:26 -08:00
parent 039bf8de6d
commit 8a825c8164
4 changed files with 48 additions and 9 deletions

View File

@@ -106,8 +106,10 @@ def _parse_remark(line, line_number) -> object:
elif line.startswith("ASC_SOP"):
group_patterns: list[str] = re.findall(r'\((.*?)\)', line)
v: list[list[str]] = [re.findall(r'-?\d+(\.\d+)?', a) for
a in group_patterns]
v1: list[list[tuple[str, str]]] = [re.findall(r'(-?\d+(\.\d+)?)', a) for
a in group_patterns]
v: list[list[str]] = [[a[0] for a in b] for b in v1]
if len(v) != 3 or any([len(a) != 3 for a in v]):
return StmtRemark(line, line_number)
@@ -120,13 +122,13 @@ def _parse_remark(line, line_number) -> object:
power_b=v[2][2], line_number=line_number)
elif line.startswith("ASC_SAT"):
value = re.findall(r'-?\d+(\.\d+)?', line)
value = re.findall(r'(-?\d+(\.\d+)?)', line)
if len(value) != 1:
return StmtRemark(line, line_number)
else:
return StmtCdlSat(value=value[0], line_number=line_number)
return StmtCdlSat(value=value[0][0], line_number=line_number)
elif line.startswith("FRMC"):
match = re.match(