https://github.com/linuskmr/fortytwo-lang
FTL is my own programming language. It is inspired by Kaleidoscope, a language introduced in an LLVM tutorial.
https://github.com/linuskmr/fortytwo-lang
compiler kaleidoscope-lang llvm programming-language rust rust-lang
Last synced: 12 months ago
JSON representation
FTL is my own programming language. It is inspired by Kaleidoscope, a language introduced in an LLVM tutorial.
- Host: GitHub
- URL: https://github.com/linuskmr/fortytwo-lang
- Owner: linuskmr
- License: agpl-3.0
- Created: 2021-05-02T14:33:55.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-12-30T17:42:20.000Z (over 1 year ago)
- Last Synced: 2025-07-02T01:06:00.437Z (12 months ago)
- Topics: compiler, kaleidoscope-lang, llvm, programming-language, rust, rust-lang
- Language: Rust
- Homepage:
- Size: 397 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fortytwo-lang
fortytwo-lang (FTL) is a programming language. The syntax is a mix of C and Python.
It is based on the programming language _Kaleidoscope_ from an
[LLVM tutorial](https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html).
The goal for FTL is to compile to LLVM IR at some point in the future.
See [Future Thoughts](docs/future_thoughts.md) for how the language could look like later on.
See [libftl](https://github.com/linuskmr/libftl) for ideas regarding the standard library of FTL.
## [Installation](docs/installation.md)
## [Running](src/bin)
## Sourcecode Documentation
To get the documentation of the fortytwo-lang sourcecode, run the following [on your local computer](docs/installation.md#compile-yourself):
```
cargo doc --document-private-items --open
```
## Reserved keywords
You may don't use these for variable names as they could get keywords in the future.
**Memory:**
ref
deref
alloc
del
new
default
nil
**Math:**
shl
shr
bitxor
bitor
bitand
**Logic:**
bool
true
false
and
or
xor
not
**Data structures:**
struct
arr
const
char
string
list
enum
**Loops:**
for
in
of
while
**Useful stuff:**
debug
print
error
def
extern
**Integer data types:**
int8
uint8
int16
uint16
int32
uint32
int64
uint64
**Floating point number data types:**
float32
float64