A tree-sitter code parser for SC
mail-7db+uFJyHB4PRnmXVbbcgVpr/1R2p/[email protected] Wed, 27 Jan 2021 14:59:15 +0100
| Newsgroups | gmane.comp.audio.supercollider.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello all Just wanted to let you know I started work on a grammar for SuperCollider mapping out the language for use with the tree-sitter code parser (https://tree-sitter.github.io). It's in an early experimental stage but most of the language has been mapped in the grammar (phew!) so it can handle simple code examples now. I mostly made this to be used in neovim where I do all my coding (and have become addicted to using tree-sitter for c++ and lua projects) but it should be possible to implement in scide aswell if interested. There are basically three features in tree-sitter that inspired me to do this: - Scoped syntax highlighting - this makes it possible to easily see if a variable is local, an environment variable, class variable, builtin or an argument and thus makes code a heck of a lot easier to read and understand. - Very precise syntax error messages. Because tree-sitter structures code in node trees, once the whole grammar is done, it should be easy to very to get super precise syntax errors. As it is now, if you omit a ; it tells you exactly where in the code in expected it to be (because that one node in the tree failed to parse) - It's fast You can see a screenshot, some examples and follow/help with the progress here for now: https://github.com/madskjeldgaard/tree-sitter-supercollider Best! _______________________________________________ sc-dev mailing list info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx archive: http://www.listarc.bham.ac.uk/marchives/sc-dev/ search: http://www.listarc.bham.ac.uk/lists/sc-dev/search/