Files
peppermint_c89/c89/README.md
T

33 lines
842 B
Markdown

# Peppermint C89 port
This directory is a clean native C89 implementation of the language behavior
present in the original TypeScript interpreter.
Original project: https://github.com/lainq/peppermint
Implemented subset:
- `let name := expression` bindings
- integer and floating-point literals
- quoted strings with basic escapes
- `+`, `-`, `*`, `/`, and `%`
- string concatenation with `+`
- `#` comments and line-oriented programs
- `@argv` and `@argv:N`
- `@env:NAME` and `@exit`
The original repository also contains a separate Brainfuck compiler/runtime;
that is not silently folded into this first language-core port.
## Build
Requires only a C compiler with C89 support:
```sh
make
./peppermint smoke.ppm hello
```
The build uses `-std=c89 -pedantic` and has no TypeScript, Node.js, Beef, or
third-party runtime dependency.