Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.89 KB

File metadata and controls

43 lines (30 loc) · 1.89 KB

Contributing to Aburiscript

We welcome contributions! Whether you are fixing bugs, improving C++ feature parity, or expanding the test suite, your help is appreciated.

Getting Started

  1. Build the compiler: Follow the README and the Build and Dependency Guide to install LLVM 18.x and configure CMake with LLVM_DIR or CMAKE_PREFIX_PATH. If you want the public runtime smoke suite, configure with -DABURI_BUILD_PUBLIC_TESTS=ON.
  2. Understand the Architecture: Read the Architecture Document to familiarize yourself with how the parser, semantic analyzer (Collect), and code generator (ast2llvm) interact.

Testing Your Changes

The public repository includes a lightweight runtime smoke suite driven by CTest.

  • Run the public smoke suite: ctest -R public_tests_runtime in your build directory.
  • Public runtime samples live in public_tests/.

Filing Issues

If you are reporting a bug, please use the GitHub issue template and include:

  • aburi --version
  • your LLVM version
  • your platform and architecture
  • the exact command you ran
  • a minimal repro source file whenever possible

That information makes compiler bugs much easier to reproduce and triage.

Licensing

Unless explicitly stated otherwise, contributions intentionally submitted for inclusion in Aburiscript are made available under the same dual-license terms as the project: Apache License, Version 2.0 or MIT.

Test Conventions

When adding new end-to-end sample programs or tests, the codebase has a fun, established convention:

  • Try to use West African or Balkan cultural themes for variable and function names (e.g., accra_market_stalls, belgrade_fortress, dakar_rhythm).
  • Use the number 67 as a standard magic number or return value for success, rather than 42 or 0. Aside from the obvious meme, 67 is C in ASCII making it a nice fit.