<commit_before>
         
   ACORN  
         



ALTERNATIVES ==>                  #  - esprima:
                                  #     - from jQuery, historic main parser.
                                  #     - uses ESTree
                                  #     - least support for ES6 syntax
                                  #     - not maintained
                                  #  - acorn (preferred):
                                  #     - uses ESTree
                                  #     - most utilities functions, good plugin system
                                  #     - no support for recent ES features
                                  #     - loose parsing
                                  #  - espree (preferred with ESLint plugins):
                                  #     - used by ESLint
                                  #     - built on top of acorn but:
                                  #        - different OPTS
                                  #        - produces Esprima-compatible output for comments, locations and TOKENs
                                  #  - @babel/parser (preferred with Babel plugins):
                                  #     - used by Babel
                                  #     - fork of acorn
                                  #     - uses slightly different ESTree
                                  #     - supports Flow, TypeScript, ES proposals
                                  #     - least utilities functions
                                  #     - most active
                                  #  - typescript-estree:
                                  #     - uses TSESTree, used by typescript-eslint (former tslint)
                                  #     - supports TypeScript
                                  #  - meriyah
                                  #     - based on cherow
                                  #  - buntis:
                                  #     - based on cherow
                                  #     - TypeScript focused
                                  #     - project too young at the moment
                                  #  - cherow: not maintained
                                  #  - esprit: not maintained

VERSION ==>                       #7.3.1 (acorn), 6.1.0 (acorn-loose), 6.2.0 (acorn-walker)
                                  #Browser, Node.js or CLI
                                  #JavaScript parser and tokenizer

AST FORMAT ==>                    #ESTree

SPEED ==>                         #Tokenizer: 4000 tokens per ms
                                  #Parser: 2600 nodes per ms
                                  #(Using jQuery source code)


                                             /=+===============================+=\
                                            /  :                               :  \
                                            )==:            PARSER             :==(
                                            \  :_______________________________:  /
                                             \=+===============================+=/


ACORN.parse('JS'[, OPTS])         #Parse JavaScript.
 ->PROGRAM_NODE                   #Errors raise SyntaxError, with ERROR:
                                  #  - pos NUM (offset)
                                  #  - loc.line|column NUM
                                  #OPTS:
                                  #  - ecmaVersion 3|5, 6-11 or 2015-2020 (def: 2019)
                                  #  - sourceType 'script|module' (def: 'script')<commit_msg>no commit message<commit_after>
         
   ACORN  
         



ALTERNATIVES ==>                  #  - esprima:
                                  #     - from jQuery, historic main parser.
                                  #     - uses ESTree
                                  #     - least support for ES6 syntax
                                  #     - not maintained
                                  #  - acorn (preferred):
                                  #     - uses ESTree
                                  #     - most utilities functions, good plugin system
                                  #     - no support for recent ES features
                                  #     - loose parsing
                                  #  - espree (preferred with ESLint plugins):
                                  #     - used by ESLint
                                  #     - built on top of acorn but:
                                  #        - different OPTS
                                  #        - produces Esprima-compatible output for comments, locations and TOKENs
                                  #  - @babel/parser (preferred with Babel plugins):
                                  #     - used by Babel
                                  #     - fork of acorn
                                  #     - uses slightly different ESTree
                                  #     - supports Flow, TypeScript, ES proposals
                                  #     - least utilities functions
                                  #     - most active
                                  #  - typescript-estree:
                                  #     - uses TSESTree, used by typescript-eslint (former tslint)
                                  #     - supports TypeScript
                                  #  - meriyah
                                  #     - based on cherow
                                  #  - buntis:
                                  #     - based on cherow
                                  #     - TypeScript focused
                                  #     - project too young at the moment
                                  #  - cherow: not maintained
                                  #  - esprit: not maintained

VERSION ==>                       #7.4.0 (acorn), 6.1.0 (acorn-loose), 6.2.0 (acorn-walker)
                                  #Browser, Node.js or CLI
                                  #JavaScript parser and tokenizer

AST FORMAT ==>                    #ESTree

SPEED ==>                         #Tokenizer: 4000 tokens per ms
                                  #Parser: 2600 nodes per ms
                                  #(Using jQuery source code)


                                             /=+===============================+=\
                                            /  :                               :  \
                                            )==:            PARSER             :==(
                                            \  :_______________________________:  /
                                             \=+===============================+=/


ACORN.parse('JS'[, OPTS])         #Parse JavaScript.
 ->PROGRAM_NODE                   #Errors raise SyntaxError, with ERROR:
                                  #  - pos NUM (offset)
                                  #  - loc.line|column NUM
                                  #OPTS:
                                  #  - ecmaVersion 3|5, 6-11 or 2015-2020 (def: 2019)
                                  #  - sourceType 'script|module' (def: 'script')
{'fraction_non_alphanumeric': 0.15866121614716402, 'fraction_numerical': 0.008942258559018906, 'mean_word_length': 0.7286376683594612, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 158, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3754911', 'n_tokens_mistral': 3773, 'n_tokens_neox': 3512, 'n_words': 369}