Skip to content

Wave Compiler v1.3.2

Latest

Choose a tag to compare

@VoidGriefedTeam VoidGriefedTeam released this 30 Aug 12:48
· 11 commits to main since this release

Wave v1.3.2

Wave is a Python-inspired language that transpiles to standard C++23 — write simple, expressive code and get native performance out the other end.

✨ Highlights

  • Four-stage compiler pipeline — source is lexed into tokens, function calls and arguments are extracted, each keyword is translated against a JSON dictionary, and the result is assembled into clean, compilable C++.
  • JSON-driven keyword dictionary (cpp_dic/dic.json) — every built-in (print, println, sqrt, floor, ceil, abs, sin, cos, tan, asin, acos, atan, and more) maps to a C++ template and its required #include. Extending the language is just adding a JSON entry — no compiler changes needed.
  • One-command build — pass --build and Wave detects your OS, locates a compiler (MSVC on Windows via vswhere, g++ on Linux), offers to install one if it's missing, and compiles straight to a native executable.
  • Zero-boilerplate output — print("Hello, World!") becomes a complete, correct main() with the right includes, so you never write C++ scaffolding by hand.

🛠 Under the hood

  • Built on C++23, with CMake 4.2+ and Ninja presets for a fast, reproducible build.
  • Uses CLI11 for argument parsing, fmt for colored terminal output, and glaze for JSON parsing.
  • cpp_dic/ is copied alongside the built executable automatically, so Wave finds its dictionary regardless of working directory.

📦 Usage

wave examples/code.wave --build

📄 License

GPLv3 — see LICENSE. Bundled third-party components retain their own licenses (THIRD_PARTY_NOTICES.md).

Full Changelog: https://github.com/VoidGriefedTeam/Wave/commits/v1.3.2