Skip to content

A compiler for an experimental programming language that produces tiny Linux binaries (ELF x86_64) without LLVM dependency!

License

Notifications You must be signed in to change notification settings

belijzajac/WisniaLang

Repository files navigation

WisniaLang

tests codecov license online

Prerequisites

  • C++20 compatible compiler
  • CMake

Building from source

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc) wisnia

Debugging binaries

(gdb) set disassembly-flavor intel
(gdb) layout asm
(gdb) layout reg
(gdb) b *0x4000b0
(gdb) r

Example programs

You can find example programs in the tests/programs/ProgramTest.cpp file.

Alternatively, try them online (please note that the compiler binary may not be the latest version).

Benchmarks

benchmarks

Note

The runtime range for WisniaLang was from 84.0 µs to 736.3 µs over 1000 program runs, indicating ambiguous results due to benchmarking a 17-line program that executes 3 lines of code 45 times. However, this does demonstrate the speed at which we can compile small programs.

benchmarks

License

This project is available under the GPLv3 license.