Hello! I'm LunaStev, the developer of Wave. I'm excited to release the v0.0.4 pre-beta version. I'm very excited to share the 4th version of Wave.

In this version, we have added an if statement.


✨ Major Updates

⚠️ if Statement Partially Functional

Basic conditional branching with if statements is now working, but the implementation is not yet perfect.
While if and else blocks are parsed and compiled to LLVM IR, some edge cases or complex conditions may not behave correctly. Improvements are ongoing.

✅ Arithmetic Expression Support

Arithmetic expressions like a + b and c * d are now properly represented in the AST and converted into LLVM IR.
BinaryExpression is now fully supported.

✅ Expression Output in Format Strings

Expressions can now be directly used inside format strings.
Example: println("{}", a + a) works flawlessly, allowing real-time expression results to be printed.

✅ Expanded Code Generator Structure

Introduced generate_expression_ir() for full recursive processing of expressions.
Ready for further expansion to support more complex and diverse expression types.


Showcase

image

image


Thank you for using Wave! Stay tuned for future updates and enhancements.


Installation Guide

For Linux:

  1. Download and Extract:

    • Download the wave-v0.0.4-pre-beta-linux.tar.gz file from the official source.
    • Use the wget command:
     wget https://github.com/LunaStev/Wave/releases/download/v0.0.4-pre-beta/wave-v0.0.4-pre-beta-linux.tar.gz
    
  • Extract the archive:

     sudo tar -xvzf wave-v0.0.4-pre-beta-linux.tar.gz -C /usr/local/bin
    
  1. Setting up LLVMs

    • Open a terminal and type:
     sudo apt-get update
     sudo apt-get install llvm-14 llvm-14-dev clang-14 libclang-14-dev lld-14 clang
     sudo ln -s /usr/lib/llvm-14/lib/libLLVM-14.so /usr/lib/libllvm-14.so
     export LLVM_SYS_140_PREFIX=/usr/lib/llvm-14
     source ~/.bashrc
    
  2. Verify Installation:

    • Open a terminal and type:
     wave --version
    
  • If the version number displays, the installation was successful.

Contributor

@lunastev | 🇰🇷


Website

Website
GitHub