# flint flint (**F**unny **L**anguage **INT**erpeter) is a collection of interpeters and compiliers for various esoteric programming languages. ## Languages ### Languages that flint currently supports: * [brainfuck](https://esolangs.org/wiki/brainfuck): core functionality supported, not very robust yet * [Thue](https://esolangs.org/wiki/Thue): core functionality supported, special options yet to be implemented * [Among Us](https://esolangs.org/wiki/Among_Us): seems to work, but needs more testing ### Languages that flint is currently planning to support: * [FALSE](https://esolangs.org/wiki/FALSE) * [0815](https://esolangs.org/wiki/0815) * [Underload](https://esolangs.org/wiki/Underload) (this one will take a while) * [ESOPUNK](https://esolangs.org/wiki/ESOPUNK) ## Installation 1. Clone this repository: `git clone https://git.matthewhall.xyz/flint.git` 2. Checkout the `main` branch: `cd flint && git checkout main` 3. Compile with `shards build --production` 4. Move or link the `bin/flint` executable somewhere in your `$PATH` ## Usage This probably won't be updated very often as this is a very early stage of development. With that said, here is what the usage is at the time of writing: ``` Basic usage: flint [OPTIONS] [LANGUAGE] [FILE] -h, --help show this help and exit -i, --interpet interpet the provided source code, implied by default, overridden by '-c' or '--compile' -c, --compile produce a binary or different source code file instead of interpeting the code, overrides an explicit '-i' or '--intepret' flag --stdin read source code from STDIN instead of a file -m CELLS, --memory-size=CELLS specify the number of memory cells available, defaults vary depending on language --supported-languages print a list of languages supported by flint and exit ``` ## Contributors - [Matthew Hall](gemini://matthewhall.xyz) - creator and maintainer