UNPKG

thaw-grammar

Version:

Implementations of the grammars of several programming languages, including LISP, Scheme, Prolog, and the Lambda Calculus.

128 lines (118 loc) 7.67 kB
# thaw-grammar Implementations of the grammars of several programming languages, including LISP, Scheme, and Prolog. Obligatory BadgeFest: [![apple][apple-badge-image]][apple-url] [![atom][atom-badge-image]][atom-url] [![circleci][circleci-badge-image]][circleci-url] [![codeclimate][codeclimate-badge-image]][codeclimate-url] [![git][git-badge-image]][git-url] [![github][github-badge-image]][github-url] [![npm][npm-badge-image]][npm-url] [![packagephobia][packagephobia-badge-image]][packagephobia-url] [![terminal][terminal-badge-image]][terminal-url] [![typescript][typescript-badge-image]][typescript-url] [![status][status-badge-image]][status-url] [![build status][build-status-badge-image]][build-status-url] [![npm version][npm-version-badge-image]][npm-version-url] [![latest tag][latest-tag-badge-image]][latest-tag-url] [![npm total downloads][npm-total-downloads-badge-image]][npm-total-downloads-url] [![watchers][watchers-badge-image]][watchers-url] [![stars][stars-badge-image]][stars-url] [![issues][issues-badge-image]][issues-url] [![forks][forks-badge-image]][forks-url] [![contributors][contributors-badge-image]][contributors-url] [![branches][branches-badge-image]][branches-url] [![releases][releases-badge-image]][releases-url] [![commits][commits-badge-image]][commits-url] [![last commit][last-commit-badge-image]][last-commit-url] [![types][types-badge-image]][types-url] [![install size][install-size-badge-image]][install-size-url] [![known vulnerabilities][known-vulnerabilities-badge-image]][known-vulnerabilities-url] [![lines of code][lines-of-code-badge-image]][lines-of-code-url] [![technical debt][technical-debt-badge-image]][technical-debt-url] [![maintainability][maintainability-badge-image]][maintainability-url] [![test coverage][test-coverage-badge-image]][test-coverage-url] [![tested with jest][jest-badge-image]][jest-url] [![code style: prettier][prettier-badge-image]][prettier-url] [![license][license-badge-image]][license-url] Much of the code in this library was based on or inspired by the book 'Programming Languages: An Interpreter-Based Approach', by Samuel N. Kamin, 1990, Addison Wesley, ISBN 0-201-06824-9. ## Implemented Languages - APL (Kamin's Scheme-like syntax) - CLU (Kamin's syntax) - The Lambda Calculus (original) - The Lambda Calculus (syntactically augmented) - LISP - Prolog - SASL (Kamin's syntax) - Scheme - Smalltalk (Kamin's syntax) ## License [MIT](https://choosealicense.com/licenses/mit/) [apple-badge-image]: https://badgen.net/badge/icon/apple?icon=apple&label [apple-url]: https://www.apple.com [atom-badge-image]: https://badgen.net/badge/icon/atom?icon=atom&label [atom-url]: https://atom.io [circleci-badge-image]: https://badgen.net/badge/icon/circleci?icon=circleci&label [circleci-url]: https://circleci.com [codeclimate-badge-image]: https://badgen.net/badge/icon/codeclimate?icon=codeclimate&label [codeclimate-url]: https://codeclimate.com [git-badge-image]: https://badgen.net/badge/icon/git?icon=git&label [git-url]: https://git-scm.com [github-badge-image]: https://badgen.net/badge/icon/github?icon=github&label [github-url]: https://github.com [npm-badge-image]: https://badgen.net/badge/icon/npm?icon=npm&label [npm-url]: https://npmjs.com [packagephobia-badge-image]: https://badgen.net/badge/icon/packagephobia?icon=packagephobia&label [packagephobia-url]: https://packagephobia.com/ [terminal-badge-image]: https://badgen.net/badge/icon/terminal?icon=terminal&label [terminal-url]: https://en.wikipedia.org/wiki/History_of_Unix [typescript-badge-image]: https://badgen.net/badge/icon/typescript?icon=typescript&label [typescript-url]: https://www.typescriptlang.org [status-badge-image]: https://badgen.net/github/status/tom-weatherhead/thaw-grammar [status-url]: https://badgen.net/github/status/tom-weatherhead/thaw-grammar [build-status-badge-image]: https://circleci.com/gh/tom-weatherhead/thaw-grammar.svg?style=shield [build-status-url]: https://circleci.com/gh/tom-weatherhead/thaw-grammar [npm-version-badge-image]: https://img.shields.io/npm/v/thaw-grammar.svg [npm-version-url]: https://www.npmjs.com/package/thaw-grammar [latest-tag-badge-image]: https://badgen.net/github/tag/tom-weatherhead/thaw-grammar [latest-tag-url]: https://github.com/tom-weatherhead/thaw-grammar/tags [npm-total-downloads-badge-image]: https://img.shields.io/npm/dt/thaw-grammar.svg [npm-total-downloads-url]: https://www.npmjs.com/package/thaw-grammar [watchers-badge-image]: https://badgen.net/github/watchers/tom-weatherhead/thaw-grammar [watchers-url]: https://github.com/tom-weatherhead/thaw-grammar/watchers [stars-badge-image]: https://badgen.net/github/stars/tom-weatherhead/thaw-grammar [stars-url]: https://github.com/tom-weatherhead/thaw-grammar/stargazers [issues-badge-image]: https://badgen.net/github/issues/tom-weatherhead/thaw-grammar [issues-url]: https://github.com/tom-weatherhead/thaw-grammar/issues [forks-badge-image]: https://badgen.net/github/forks/tom-weatherhead/thaw-grammar [forks-url]: https://github.com/tom-weatherhead/thaw-grammar/network/members [contributors-badge-image]: https://badgen.net/github/contributors/tom-weatherhead/thaw-grammar [contributors-url]: https://github.com/tom-weatherhead/thaw-grammar/graphs/contributors [branches-badge-image]: https://badgen.net/github/branches/tom-weatherhead/thaw-grammar [branches-url]: https://github.com/tom-weatherhead/thaw-grammar/branches [releases-badge-image]: https://badgen.net/github/releases/tom-weatherhead/thaw-grammar [releases-url]: https://github.com/tom-weatherhead/thaw-grammar/releases [commits-badge-image]: https://badgen.net/github/commits/tom-weatherhead/thaw-grammar [commits-url]: https://github.com/tom-weatherhead/thaw-grammar/commits/master [last-commit-badge-image]: https://badgen.net/github/last-commit/tom-weatherhead/thaw-grammar [last-commit-url]: https://github.com/tom-weatherhead/thaw-grammar [types-badge-image]: https://badgen.net/npm/types/thaw-grammar [types-url]: https://badgen.net/npm/types/thaw-grammar [install-size-badge-image]: https://badgen.net/packagephobia/install/thaw-grammar [install-size-url]: https://badgen.net/packagephobia/install/thaw-grammar [known-vulnerabilities-badge-image]: https://snyk.io/test/github/tom-weatherhead/thaw-grammar/badge.svg?targetFile=package.json&package-lock.json [known-vulnerabilities-url]: https://snyk.io/test/github/tom-weatherhead/thaw-grammar?targetFile=package.json&package-lock.json [lines-of-code-badge-image]: https://badgen.net/codeclimate/loc/tom-weatherhead/thaw-grammar [lines-of-code-url]: https://badgen.net/codeclimate/loc/tom-weatherhead/thaw-grammar [technical-debt-badge-image]: https://badgen.net/codeclimate/tech-debt/tom-weatherhead/thaw-grammar [technical-debt-url]: https://badgen.net/codeclimate/tech-debt/tom-weatherhead/thaw-grammar [maintainability-badge-image]: https://api.codeclimate.com/v1/badges/a5eb95066763b9a9163b/maintainability [maintainability-url]: https://codeclimate.com/github/tom-weatherhead/thaw-grammar/maintainability [test-coverage-badge-image]: https://api.codeclimate.com/v1/badges/a5eb95066763b9a9163b/test_coverage [test-coverage-url]: https://codeclimate.com/github/tom-weatherhead/thaw-grammar/test_coverage [jest-badge-image]: https://img.shields.io/badge/tested_with-jest-99424f.svg [jest-url]: https://github.com/facebook/jest [prettier-badge-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square [prettier-url]: https://github.com/prettier/prettier [license-badge-image]: https://img.shields.io/github/license/mashape/apistatus.svg [license-url]: https://github.com/tom-weatherhead/thaw-grammar/blob/master/LICENSE