Hysen Labs
Open-source project
zaach/jison avatar
zaach

jison

GitHub describes it as Bison in JavaScript.. The repository metadata lists JavaScript as its primary language. This article stays within the project description and details documented in the GitHub repository README.

4,385 stars451 forksJavaScriptLicense varies
01
DEEP OPEN-SOURCE ANALYSIS

zaach/jison: README details

GitHub describes it as Bison in JavaScript.. The repository metadata lists JavaScript as its primary language. This article stays within the project description and details documented in the GitHub repository README.

02
DEEP OPEN-SOURCE ANALYSIS

Repository scope

GitHub describes it as Bison in JavaScript.. The repository metadata lists JavaScript as its primary language. The README describes the project this way: Jison generates bottom-up parsers in JavaScript. Its API is similar to Bison's, hence the name. It supports many of Bison's major features, plus some of its own. If you are new to parser generators such as Bison, and Context-free Grammars in general, a [good introduction][1] is found in the Bison manual. If you already know Bison, Jison should be easy to pickup.

03
DEEP OPEN-SOURCE ANALYSIS

README details

The README section "README details" states: Briefly, Jison takes a JSON encoded grammar or Bison style grammar and outputs a JavaScript file capable of parsing the language described by that grammar. You can then use the generated script to parse inputs and accept, reject, or perform actions based on the input.

04
DEEP OPEN-SOURCE ANALYSIS

README details

The README section "README details" states: This will generate calculator.js in your current working directory. This file can be used to parse an input file, like so:

05
DEEP OPEN-SOURCE ANALYSIS

README details

The README section "README details" states: Options: -j, --json force jison to expect a grammar in JSON format -o FILE, --outfile FILE Filename and base module name of the generated parser -t, --debug Debug mode -m TYPE, --module-type TYPE The type of module to generate (commonjs, amd, js) -p TYPE, --parser-type TYPE The type of algorithm to use for the parser (lr0, slr, lalr, lr) -V, --version print version and exit

06
DEEP OPEN-SOURCE ANALYSIS

Editorial conclusion

The repository README is the source for this review. It does not replace a local installation or an independent test.

07
DEEP OPEN-SOURCE ANALYSIS

Official sources

08
Community notes

Community notes