Create evaluator for function call

This commit is contained in:
Bartłomiej Pluta
2019-07-08 14:10:10 +02:00
parent 6e42ac0f91
commit 1e634180d6
10 changed files with 81 additions and 62 deletions

View File

@@ -7,7 +7,7 @@ from smnp.note.model import Note
class Type(Enum):
INTEGER = (int, lambda x: str(x))
STRING = (str, lambda x: x)
LIST = (list, lambda x: f"({', '.join([e.stringify() for e in x])})")
LIST = (list, lambda x: f"[{', '.join([e.stringify() for e in x])}]")
PERCENT = (float, lambda x: f"{int(x * 100)}%")
NOTE = (Note, lambda x: x.note.name)
VOID = (type(None), lambda x: _failStringify(Type.VOID))
@@ -17,7 +17,7 @@ class Type(Enum):
def _failStringify(t):
raise RuntimeException(f"Not able to interpret {t.name}'")
raise RuntimeException(f"Not able to interpret {t.name}'", None)