Skip to content
@lccc-project

lccc-project

Lightning Creations Compiler Collection Project

LCCC Project

LCCC is the Lightning Creations Compiler Collection, a modern toolchain aimed at replacing gcc and llvm.

Previous iterations of the toolchain work are maintained for historical purposes. Current work is on lxca (LCCC eXtensible Compiler Architecture, and cmli (Compiler Machine Layer Interface).

We have a discord server, where most of our development is happening: https://discord.gg/a8caHpGcx2

Code of Conduct

All Contributions to this project, and discussion in project forms must comply the code of conduct adopted by the LCCC Leads. We use the Rust Code of Conduct, as interpreted by the LCCC throughout the entire LCCC Project. Repeat offenders may be permanently excluded from contributing to the project.

The 4 W's

Who is LCCC

LCCC is run as an open source project. Anyone can contribute to it. Joining our discord server is encouraged for contributors, but not required.

LCCC is run by a small group of leads, who make project management and governance decisions. https://github.com/lccc-project/Governance describes how those leads make decisions.

What is LCCC

LCCC is a compiler collection, first and foremost. The set of supported languages is ever evolving as we develop the frontends

LCCC is also responsible for a number of related things, such as writing an assembler and linker, as well as the related https://github.com/SNES-Dev project.

A full scope document will be published at a later date. Eventually, our plans include things like:

  • A JIT Compilation Engine
  • Language/Runtime Support Libraries

We also plan on doing outreach eventually (We're working on a mascot).

Why is LCCC

First and foremost, we are writing LCCC because we can. In the wise words of many people, the reason why we climb mountains, is because they are there. LCCC is a mountain to climb, and we will eventually.

We also have specific goals for LCCC, of course, to make it useful in a world inhabited by LLVM and GCC.

  1. Niche, weird, ancient target support (like the SNES)
  2. Being able to make language support easier
  3. Being able to make target support easier
  4. Having good diagnostics (in every language)
  5. Have decent optimizations for runtime performance/code size
  6. Making easy-to-use compiler drivers

When is LCCC

We would also be interested in knowing this.

Pinned Loading

  1. cmli cmli Public

    Compiler Machine Layer Interface

    Rust 1 1

  2. lccc-driver lccc-driver Public

    Driver support library for new lccc

    Rust

  3. lccc-target lccc-target Public

    Rust

  4. lxca lxca Public

    LXCA (lccc extensible compiler architecture): Next Generation Intermediate Architecture for lccc compilers

    Rust

  5. lxca-cg lxca-cg Public

    Codegen from lxca using cmli

    Rust

Repositories

Showing 10 of 20 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…