Scheme Interpreter in JS
This is a TOY implementation of Scheme, started as a small university project. Hence it is incomplete and a work in progress.
Installation
Execute the following command:
npm install node-scheme
If you have the code, or the tarball, execute:
npm install
Inside the extracted directory.
Usage
Run the following you installed through bare npm
node-scheme
if you have downloaded the code you can run:
./bin/scheme
inside the code directory
File Structure
bin/scheme The naked file which allows for naked execution
lib/ Supporting javascript for scheme
lib/definitions.js Definitions used by all scheme js files
lib/scheme.js The meat of the scheme implementation
lib/util.js Helper utility functions
lib/grammar.js This file is autogenerated by the JS/CC grammar
grammar/grammar.par The scheme definition in JS/CC
Testing
The files inside test can be run with:
npm test
Project Structure
Jake runs the lifecycle for the project. When you call npm install
it will run the JS/CC compiler through jake. JS/CC will generate the grammar.js file, which is the main driver for the scheme implementation.