blob: 70a58f07706b44b1558630ef8108d8a4028e14fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# 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
|