An open API service indexing awesome lists of open source software.

https://github.com/tom-weatherhead/atrocity

A Scheme interpreter implemented in C.
https://github.com/tom-weatherhead/atrocity

c functional-programming garbage-collection repl scheme scheme-interpreter scripting-language

Last synced: 7 months ago
JSON representation

A Scheme interpreter implemented in C.

Awesome Lists containing this project

README

          

# atrocity
A Scheme interpreter implemented in C.

[![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]
[![license][license-badge-image]][license-url]

## To compile and run atrocity

First, ensure that gcc and make are installed.

After cloning this repository, cd into its directory and do this:

```sh
$ cd src
$ make
$ ./atrocity
```

From the src directory, you can do the following:

To do a full rebuild and run the built-in tests:

```sh
$ make clean && make && make test
```

To run a script: E.g.:

```sh
$ ./atrocity ../scripts/test001.scm
```

To enter the read-eval-print loop (REPL) :

```sh
$ ./atrocity
```

Exit the REPL by typing 'exit', 'quit', or 'bye'.

## License
[MIT](https://choosealicense.com/licenses/mit/)

[watchers-badge-image]: https://badgen.net/github/watchers/tom-weatherhead/atrocity
[watchers-url]: https://github.com/tom-weatherhead/atrocity/watchers
[stars-badge-image]: https://badgen.net/github/stars/tom-weatherhead/atrocity
[stars-url]: https://github.com/tom-weatherhead/atrocity/stargazers
[issues-badge-image]: https://badgen.net/github/issues/tom-weatherhead/atrocity
[issues-url]: https://github.com/tom-weatherhead/atrocity/issues
[forks-badge-image]: https://badgen.net/github/forks/tom-weatherhead/atrocity
[forks-url]: https://github.com/tom-weatherhead/atrocity/network/members
[contributors-badge-image]: https://badgen.net/github/contributors/tom-weatherhead/atrocity
[contributors-url]: https://github.com/tom-weatherhead/atrocity/graphs/contributors
[branches-badge-image]: https://badgen.net/github/branches/tom-weatherhead/atrocity
[branches-url]: https://github.com/tom-weatherhead/atrocity/branches
[releases-badge-image]: https://badgen.net/github/releases/tom-weatherhead/atrocity
[releases-url]: https://github.com/tom-weatherhead/atrocity/releases
[commits-badge-image]: https://badgen.net/github/commits/tom-weatherhead/atrocity
[commits-url]: https://github.com/tom-weatherhead/atrocity/commits/master
[last-commit-badge-image]: https://badgen.net/github/last-commit/tom-weatherhead/atrocity
[last-commit-url]: https://github.com/tom-weatherhead/atrocity
[license-badge-image]: https://img.shields.io/github/license/mashape/apistatus.svg
[license-url]: https://github.com/tom-weatherhead/thaw-grammar/blob/master/LICENSE