This is expected to be a recursive view like the XmlView but a binding to a grammar in the view is required as well, to present free slots (expansions). These not determined by the instance of the grammar (the AST) but by the grammar itself (the production rules for a valid AST).
A Scratch-like blocks editor needs to be constructed, loosely based on https://github.com/cefn/allyourx/blob/master/allyourx/test/blocks.html
This is expected to be a recursive view like the XmlView but a binding to a grammar in the view is required as well, to present free slots (expansions). These not determined by the instance of the grammar (the AST) but by the grammar itself (the production rules for a valid AST).