Moving things around

This commit is contained in:
2023-03-04 12:36:09 +02:00
parent 5fd03fac6b
commit 13f68f7ee7
6 changed files with 864 additions and 785 deletions

View File

@ -1,7 +1,17 @@
""" Lark transformer for mapping Lark tokens to Ziffers objects """
from lark import Transformer, Token
from .classes import (
Ziffers,
from .classes.root import Ziffers
from .classes.sequences import (
Sequence,
ListSequence,
RepeatedListSequence,
ListOperation,
RepeatedSequence,
Euclid,
Subdivision,
Eval,
)
from .classes.items import (
Whitespace,
DurationChange,
OctaveChange,
@ -12,24 +22,17 @@ from .classes import (
RandomPercent,
Chord,
RomanNumeral,
Sequence,
ListSequence,
RepeatedListSequence,
Subdivision,
Cyclic,
RandomInteger,
Range,
Operator,
ListOperation,
Operation,
Eval,
Atom,
Integer,
Euclid,
RepeatedSequence,
VariableAssignment,
Variable,
Measure
VariableList,
Measure,
)
from .common import flatten, sum_dict
from .defaults import DEFAULT_DURS, OPERATORS
@ -337,6 +340,10 @@ class ZiffersTransformer(Transformer):
"""Return parsed variable name"""
return Variable(name=items[0].value, text=items[0].value)
def variablelist(self, items):
"""Return list of variables"""
return VariableList(values=items, text="".join([item.text for item in items]))
# List rules
def list(self, items):
@ -459,4 +466,4 @@ class ZiffersTransformer(Transformer):
repeats=items[1],
wrap_start="",
wrap_end=":" + items[1].text,
)
)