No description, website, or topics provided.
OCaml JavaScript HTML Makefile Coq CSS Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
generator
jquery-ui-1.11.4.custom
jquery_scroll
jsref
libraries
mlparser
node_modules
test
tools
.gitignore
.gitlab-ci.yml
.gitmodules
.travis.yml
LICENSE
Makefile
README.org
driver.html
esprima-to-ast.js
navig-driver.js
opam
package.json
sparray.js
tools.js

README.org

JSExplain

To install:

make init
eval `opam config env`
make

You can run the tool locally by opening the driver.html page.

To test jsjsref using test262:

make test_init
make test

make test tests jsjsref only at present.

Latest version of jsjsref & debugger is automatically published at: https://jscert.github.io/jsexplain/branch/master/driver.html

mljsref results are tested online and results published to: https://psvg.doc.ic.ac.uk/ci/jscert-testing/

Architecture

The source code for the interpreter is primarily written in a subset of OCaml with supporting runtime libraries written in both OCaml and JS.

The source code is located in the jsref directory. It can either be built using the standard OCaml compiler (to produce a result we term mljsref), or using a custom OCaml-to-JS compiler which is located in the generator directory (we term the resulting product jsjsref).

Details about the custom compilation are provided in the generator directory.

To simplify presentation of the code, a monadic binder syntax extension is used. This is also described in the generator directory.