<commit_before>##jsep: A JavaScript Expression Parser
[jsep](http://jsep.from.so/) is a simple expression parser written in JavaScript. It can parse JavaScript expressions but not operations. The difference between expressions and operations is akin to the difference between a cell in an Excel spreadsheet vs. a proper JavaScript program.

###Why jsep?
I wanted a lightweight, tiny parser to be included in one of my other libraries. [esprima](http://esprima.org/) and other parsers are great, but had more power than I need and were *way* too large to be included in a library that I wanted to keep relatively small.

jsep's output is almost identical to [esprima's](http://esprima.org/doc/index.html#ast), which is in turn based on [SpiderMonkey's](https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API).

###Custom Build
First, install [Grunt](http://gruntjs.com/). While in the jsep project directory, run:

    npm install .
    grunt

The jsep built files will be in the build/ directory.

###Usage
####Client-side
    <script src="/PATH/TO/jsep.min.js" type="text/javascript"></script>
    ...
    var parse_tree = jsep("1 + 1");
####Node.JS
    var jsep = require("jsep");
    var parse_tree = jsep("1 + 1");

###License
jsep is under the MIT license. See LICENSE file.

###Thanks
Some parts of the latest version of jsep were adapted from the esprima parser.<commit_msg>added note about installing through npm<commit_after>##jsep: A JavaScript Expression Parser
[jsep](http://jsep.from.so/) is a simple expression parser written in JavaScript. It can parse JavaScript expressions but not operations. The difference between expressions and operations is akin to the difference between a cell in an Excel spreadsheet vs. a proper JavaScript program.

###Why jsep?
I wanted a lightweight, tiny parser to be included in one of my other libraries. [esprima](http://esprima.org/) and other parsers are great, but had more power than I need and were *way* too large to be included in a library that I wanted to keep relatively small.

jsep's output is almost identical to [esprima's](http://esprima.org/doc/index.html#ast), which is in turn based on [SpiderMonkey's](https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API).

###Custom Build
First, install [Grunt](http://gruntjs.com/). While in the jsep project directory, run:

    npm install .
    grunt

The jsep built files will be in the build/ directory.

###Usage
####Client-side
    <script src="/PATH/TO/jsep.min.js" type="text/javascript"></script>
    ...
    var parse_tree = jsep("1 + 1");
####Node.JS
First, run `npm install jsep`
    var jsep = require("jsep");
    var parse_tree = jsep("1 + 1");

###License
jsep is under the MIT license. See LICENSE file.

###Thanks
Some parts of the latest version of jsep were adapted from the esprima parser.
{'fraction_non_alphanumeric': 0.10747004933051445, 'fraction_numerical': 0.0028188865398167725, 'mean_word_length': 4.152450090744102, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6085804', 'n_tokens_mistral': 830, 'n_tokens_neox': 798, 'n_words': 357}