ometa-rhino.js 693 B

12345678910111213141516171819
  1. load("lib.js")
  2. load("ometa-base.js")
  3. load("parser.js")
  4. load("bs-js-compiler.js")
  5. load("bs-ometa-compiler.js")
  6. load("bs-ometa-optimizer.js")
  7. load("bs-ometa-js-compiler.js")
  8. alert = print
  9. translateCode = function(s) {
  10. var translationError = function(m, i) { alert("Translation error - please tell Alex about this!"); throw fail },
  11. tree = BSOMetaJSParser.matchAll(s, "topLevel", undefined, function(m, i) {
  12. throw objectThatDelegatesTo(fail, {errorPos: i}) })
  13. return BSOMetaJSTranslator.match(tree, "trans", undefined, translationError)
  14. }
  15. ometa = function(s) { return eval(translateCode(s)) }