UNPKG

mercury-lang

Version:

Parser for the mercury live coding language

365 lines (364 loc) 4.55 kB
{ "parseTree": { "global": { "randomSeed": [ 0 ], "highPass": [ 5, 0 ], "lowPass": [ 18000, 0 ], "silence": false, "tempo": [ 140 ] }, "variables": { "myBeat": [ 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ], "drives": [ 1, 2, 2, 3, 4, 6, 9, 3, 11, 2 ] }, "objects": { "s1": { "object": "synth", "type": "saw", "functions": { "group": [], "time": [ "1/8" ], "note": [ [ "c3", "gb3" ] ], "env": [ 1, 250 ], "beat": [ [ 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ] ], "amp": [ 0.7 ], "wave2": [ "saw", 0 ], "add_fx": [ [ "reverb", 0.9, 7 ], [ "drive", [ 1, 2, 2, 3, 4, 6, 9, 3, 11, 2 ] ] ], "name": [ "s1" ] } } }, "groups": { "all": [ "s1" ] }, "print": [ [ 0, 1, 1, 2, 3, 5, 8, 0, 8, 8, 3, 11, 1, 12, 0, 12, 12, 11, 10, 8, 5, 0, 5, 5, 10, 2, 12, 1 ] ], "display": [], "comments": [ "// A small example for the Mercury parser", "// list notes random 16 0 12)" ] }, "syntaxTree": { "@main": [ { "@global": { "@comment": "// A small example for the Mercury parser" } }, { "@object": { "@set": { "@name": "tempo", "@functions": [ { "@number": 140 } ] } } }, { "@global": { "@print": [ { "@function": { "@name": "pisano", "@args": [ { "@number": 13 } ] } } ] } }, { "@list": { "@name": "myBeat", "@params": { "@function": { "@name": "clave", "@args": [ { "@number": 16 }, { "@number": 5 }, { "@number": 2 } ] } } } }, { "@list": { "@name": "drives", "@params": { "@function": { "@name": "add", "@args": [ { "@function": { "@name": "pisano", "@args": [ { "@number": 11 } ] } }, { "@number": 1 } ] } } } }, { "@object": { "@new": { "@inst": "synth", "@type": { "@identifier": "saw" }, "@functions": [ { "@function": { "@name": "time", "@args": [ { "@division": "1/8" } ] } }, { "@function": { "@name": "beat", "@args": [ { "@identifier": "myBeat" } ] } }, { "@function": { "@name": "name", "@args": [ { "@identifier": "s1" } ] } } ] } } }, { "@object": { "@set": { "@name": "s1", "@functions": [ { "@function": { "@name": "add_fx", "@args": [ { "@identifier": "reverb" }, { "@number": 0.9 }, { "@number": 7 } ] } }, { "@function": { "@name": "add_fx", "@args": [ { "@identifier": "drive" }, { "@identifier": "drives" } ] } } ] } } }, { "@object": { "@set": { "@name": "s1", "@functions": [ { "@function": { "@name": "note", "@args": [ { "@array": [ { "@note": "c3" }, { "@note": "gb3" } ] } ] } } ] } } }, { "@global": { "@comment": "// list notes random 16 0 12)" } } ] }, "errors": [] }