alga-0.2.2: Algorithmic automation for various DAWs

Safe HaskellSafe
LanguageHaskell2010

Alga.Language.SyntaxTree

Synopsis

Documentation

type SyntaxTree = [Sel] Source #

Syntax tree in our case is just a collection of syntactic elements.

data Sel Source #

Syntactic element corresponds to language tokens. Some of them have corresponding constructor in Element, others have to be simplified first.

Constructors

Value NRatio

Literal value

Section [Sel]

Section

Multi [Sel]

Multivalue

CMulti (NonEmpty ([Sel], [Sel]))

Conditional multivalue

Reference String

Reference (name of variable)

Range NRatio NRatio

Range of values

Product Sel Sel

Product of principles

Division Sel Sel

Division of principles

Sum Sel Sel

Sum of principles

Diff Sel Sel

Subtraction of principles

Loop Sel Sel

Loop

Rotation Sel Sel

Rotation

Reverse Sel

Reversed principle

Instances

Eq Sel Source # 

Methods

(==) :: Sel -> Sel -> Bool #

(/=) :: Sel -> Sel -> Bool #

Show Sel Source # 

Methods

showsPrec :: Int -> Sel -> ShowS #

show :: Sel -> String #

showList :: [Sel] -> ShowS #

Arbitrary Sel Source # 

Methods

arbitrary :: Gen Sel #

shrink :: Sel -> [Sel] #

data Statement Source #

Statement can be either definition or exposition. Expositions are only used in REPL.