https://github.com/aattoa/kieli
A general-purpose programming language
https://github.com/aattoa/kieli
compiler language-server programming-language
Last synced: 11 months ago
JSON representation
A general-purpose programming language
- Host: GitHub
- URL: https://github.com/aattoa/kieli
- Owner: aattoa
- Created: 2023-03-08T13:52:56.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-10T21:08:30.000Z (12 months ago)
- Last Synced: 2025-02-10T22:22:56.760Z (12 months ago)
- Topics: compiler, language-server, programming-language
- Language: C++
- Homepage:
- Size: 2.14 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kieli
A general-purpose programming language.
This is a work in progress, and can not be used for anything yet.
Some subdirectories under `src/` have individual READMEs.
## Dependencies
- [github.com/aattoa/cppdiag](https://github.com/aattoa/cppdiag)
- [github.com/aattoa/cpputil](https://github.com/aattoa/cpputil)
- [github.com/aattoa/cppunittest](https://github.com/aattoa/cppunittest)
Dependencies are automatically fetched by CMake.
## Build
Prerequisites:
- CMake
- A build system, such as GNU Make or Ninja
- A C++23 compiler toolchain
NOTE: At the time of writing, LLVM (18 and later) is the only toolchain that supports C++23 well enough to build Kieli.
Run the following commands to clone and build Kieli:
```sh
git clone https://github.com/aattoa/kieli
cd kieli
cmake -B build
cmake --build build --parallel 8
```
## Tests
Tests are enabled by default, but can be disabled with the CMake option `KIELI_BUILD_TESTS`, i.e. configure with `-DKIELI_BUILD_TESTS=OFF`.
To run all tests associated with a build, build the `test` target with your build system of choice, or use CMake abstraction: `cmake --build build --target test`