summaryrefslogtreecommitdiff
path: root/README.md
blob: a15c62a47f36f648f0653c1a05d69a58649ee1cb (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
45
# flint

flint (**F**uck **L**anguage **INT**erpeter) is a collection of interpeters and compiliers for various esoteric programming languages.

## Languages

### Languages that flint currently supports:

* brainfuck: core functionality supported, not very robust yet

### Languages that flint is currently planning to support:

* Thue (in progress)

## 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

Subject to change as this is a very early version of the pogram, but this is what it will probably be:

```
Basic usage: flint [LANGUAGE] [OPTIONS] [FILE]
    brainfuck                        select brainfuck as the language
    -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
```

## Language-specific options:

### Brainfuck:
```
    -t CELLS, --tape-size=CELLS      specify the number of memory cells in the tape, defaults to 30,000
```

## Contributors

- [Matthew Hall](gemini://matthewhall.xyz) - creator and maintainer