A toy implementation of scheme running on node.js
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
grammar
lib
test
.gitignore
.npmignore
Jakefile.js
README.md
package.json

README.md

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.