23 lines
659 B
Plaintext
23 lines
659 B
Plaintext
|
|
?value: root
|
|
root: (pc | dur_change | oct_change | WS | chord | cycle | randompitch | range | list | subdivision)*
|
|
list: "(" root ")"
|
|
randompitch: /[\(][-?0-9][,][-?0-9][\)]/
|
|
range: /[-?0-9]\.\.[-?0-9]/
|
|
cycle: "<" root ">"
|
|
pc: prefix* pitch
|
|
pitch: /[-?0-9TE]/
|
|
prefix: octave | duration
|
|
oct_change: octave WS
|
|
octave: /[_^]+/
|
|
chord: pc pc+
|
|
dur_change: duration WS
|
|
duration: dur+
|
|
dur: dchar dot*
|
|
dchar: /[mklpdcwyhnqaefsxtgujzo]/
|
|
dot: "."
|
|
subitems: (pc | WS | chord | cycle | subdivision)*
|
|
subdivision: "[" subitems "]"
|
|
|
|
%import common.SIGNED_NUMBER
|
|
%import common.WS |