An ANF-inspired normalization of JavaScript
Last updated 6 months ago by arjunguha .
BSD-3-Clause · Original npm · Tarball · package.json
$ cnpm install @stopify/normalize-js 
SYNC missed versions from official npm registry.


This package implements a semantics-preserving transformation for JavaScript that is inspired by A Normal Form [^1]. The transformation guarantees that:

  1. All applications are named, unless they are in tail position. (A flag can be set to name applications in tail position too.)
  2. All loops are while loops.
  3. All branches are if statements.
  4. No declarations are hoisted.
  5. All variables are declared before use.
  6. No continue statements exist.

The transformation does introduce new break statements and labelled statements.

[^1]: Cormac Flanagan, Amr Sabry, Bruce F. Duba, and Matthias Felleisen. The Essence of Compiling with Continuations. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1993.

Current Tags

  • 0.7.1                                ...           latest (6 months ago)

2 Versions

  • 0.7.1                                ...           6 months ago
  • 0.7.0                                ...           a year ago
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (12)
Dev Dependencies (14)

Copyright 2014 - 2016 © taobao.org |