Ohm/S and Gramada
Last updated at 11:06 am UTC on 22 May 2017
<Patrick.Rein@hpi.de> Sun, May 21, 2017 at 8:25 PM
Reply-To: The general-purpose Squeak developers list <email@example.com>
To: "firstname.lastname@example.org" <email@example.com>
regarding defining new languages in the Smalltalk image, you might also be interested in Ohm/S and Gramada.
Ohm/S is the Squeak/Smalltalk implementation of the successor of OMeta/2, which is called Ohm.
It is somewhat different than OMeta as it separates a language definition into a syntax definition (a grammar)
and several semantics defined in relation to the grammar rules.
You can get Ohm/S at: https://github.com/hpi-swa/Ohm-S
Additionally, I have developed a development environment for Ohm language definitions called Gramada. It includes tooling to see live results
of parses on examples and editors with syntax highlighting and tools to navigate between rules via senders and implementors
Further, it includes a parsing debugger and SUnit extensions for grammars. You can see a demo here: https://vimeo.com/180190846
A demo version of the environment can be downloaded here: https://patrickrein.de/gramada/gramadaDemo.zip .
I am also currently working on creating a stable release which will be linked from https://github.com/HPI-SWA-Lab/Gramada.