// language mash-ups are very useful; here's an example from the OMeta/JS implementatio Parse error -> Parse error -> Parse error ->n ometa OMetaJSParser <: BSJSParser Parse error Parse error -> ->{ srcElem = spaces foreign(BSOMetaParser, `grammar):r sc -> r | super(`srcElem) } ometa OMetaJSTranslator <: BSJSTranslator { Grammar = foreign(BSOMetaTranslator, `Grammar) }