Jvav is a programming language first purposed by Dr. Haoyang Zhang and implemented by Heckerpowered
Visit Working Draft for language standards. To contribute, please create Issue, or make changes to the Working Draft directly, then create a Pull Request.
Mamba is the open-source implementation of the Jvav programming language with LLVM for building code.
Mamba requires a full LLVM to build the code. To verify that the existing LLVM is full, follow step 4 to verify
- Download LLVM
Download the latest LLVM release from LLVM repository. (e.g. LLVM-19.1.0-macOS-ARM64.tar.xz or LLVM-19.1.0-Windows-X64.tar.xz)
- Extract the downloaded file
Extract the file downloaded in the first step.
- Set environment variables
Add llvm-path/bin to the environment variable, ensure that the toolchain can find llvm related tools.
- Test LLVM
Run the command llvm-config --version, which should show the version of llvm-config.
Clone https://github.com/heckerpowered/Jvav
git clone https://github.com/heckerpowered/Jvav.git
Recommend use ninja
cmake -B build
cmake --build build -j$nproc
ln -s build/compile_commands.json compile_commands.json
xmake
Generate IDE Project Files:
xmake project -k <Name>
Following names are supported:
- makefile
- cmakelists
- ninja
- compiler_flags
- compile_commands
- xcode
- vsxmake
After making a contribution, run the test to make sure everything is working as expected. Remember to change the test suite to include your new feature.
To run the tests with CMake, just build and run the mamba_tests target.
cmake --build build -j
build/mamba_tests
To run the tests with XMake, just build and run the test target.
xmake
xmake run test
- Install Visual Studio Code
- After install Visual Studio Code, install the CodeLLDB extension.
- You can build from VS Code by running the Run Build Task command, then selecting an appropriate task such as CMake: Build.
- You can launch debug session by running the Start Debugging command.
- Build task will run automatically before starting the debug session.
Our website is available at here.