javascriptcompiler-constructiondynamic-compilation

Implementing custom script types in the browser?


When a script for some custom language appears in a webpage how are these scripts executed?

<script type='text/mighty-mouse'>
 // logic expressed in mighty mouse language
</script>

I would guess it would be something like this:

  1. Mighty Mouse interpreter queries the page on load for mighty-mouse scripts.
  2. The interpreter parses the script using standard lexing/compilation strategies and transpiles to JavaScript.
  3. The resulting JavaScript is dynamically injected into a standard script tag on the page, perhaps even eliminating the original mighty-mouse tag.

(I realize that we could have transcompiled before runtime to avoid having to load our interpreter.)

Is this an accurate and complete understanding?


Solution

  • As far as I know there are two ways. Either a browser plugin or more likely an interpreter written in JavaScript. Which essentially scans the DOM for the correct type and interpret the content.

    CoffeeScript is a good example of the later.