Demo to answer a question on the forums
by Ray Toal
HTML
<script src="https://unpkg.com/[email protected]/dist/ohm.js"></script>
<script type="text/ohm-js">
MyGrammar { greeting = ("Hello" | "Hola")+ }
</script>
<pre id="result"></pre>
JavaScript
g = ohm.grammarFromScriptElement()
semantics = g.createSemantics().addOperation('view', {
greeting(x) {
document.getElementById('result').innerHTML = JSON.stringify(x.view());
},
_terminal() {return this.sourceString;}
})
let m = g.match('HelloHolaHelloHello');
if (m.succeeded()) {
semantics(m).view();
}