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();
}