← all docs
← all docs
plainspeak
esolangcompilercppc
plainspeak is a deterministic, non-ML esoteric programming language whose syntax is a constrained subset of English — "speak plainly to the computer". It compiles to C99 via a C++20 frontend, then hands off to the system C compiler for the native binary.
Part of the same family of esoteric languages as selenium and numlang.
Build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j
./scripts/run_golden_tests.sh build/plainspeak
Without CMake:
g++ -std=c++20 -Wall -Wextra \
-DPLAINSPEAK_RUNTIME_C="\"$(pwd)/runtime/plainspeak_runtime.c\"" \
-DPLAINSPEAK_RUNTIME_DIR="\"$(pwd)/runtime\"" \
-Isrc \
src/lexer/tokenizer.cpp src/parser/parser.cpp src/codegen/c_emitter.cpp src/cli/main.cpp \
-o plainspeak
Try It
./plainspeak examples/hello.eng -o hello && ./hello
See docs/grammar.md in the repository for the full syntax reference.
Tech Stack
C++20 frontend (lexer, parser, C emitter) generating C99, compiled with the system C compiler.
Licence
AGPL-3.0 — see LICENSE.
← all docs