Perfect. I’ll use: **Project Name:** C′ **License:** MIT **Style:** Developer-Friendly & Enthusiastic --- ### 🚀 Your new README.md (ready to commit) You can copy this directly into `README.md` in your repo: --- # C′ — C with Classes. Zero Bloat. **C′ (C-Prime)** is a tiny object-oriented extension to the C language. It adds **classes, methods, constructors, operator overloads, inheritance, templates, reflection**, and more — while still compiling to **pure, readable, high-performance C99**. You write modern OOP code. C′ rewrites it into C. The C compiler does the rest. ⚡ **Instant preprocessing speeds** (just a few milliseconds) 📦 **Tiny compiler** (written in clean C99) 🧩 **Drop-in compatibility** with existing C toolchains 🛠 Uses **TinyCC**, GCC, or Clang to compile the output --- ### Why C′? C++ gives you a lot… and a lot of baggage. C′ gives you **just the power of classes** without templates nightmares, ABI chaos, or hidden runtime behavior. Everything turns into **transparent C functions and structs** you can read and debug directly. > **Write like OOP — ship like C.** --- ## 🧠 How it works C′ is a **source-to-source compiler**: ``` C′ source → C′ Preprocessor → Pure C output → Normal C compiler ``` Under the hood: 1. **Parse code** (via custom tokenizing lexer) 2. Extract **classes, methods, properties** 3. Replace OOP syntax with **C99 equivalents** 4. Generate `.c` + `.h` files 5. Compile with TinyCC (or any C99 compiler) Output remains beautiful C that **you can read**. --- ## ✨ Language Features ✔ Classes ✔ Methods ✔ Constructors ✔ Operator Overloading (`+`, `+=`, `==`, …) ✔ Property access via `this->field` ✔ Inheritance (multiple!) ✔ Templates / generics ✔ Reflection ✔ SQLite3 support ✔ Console logging with automatic pretty-printing ✔ File manipulation ✔ HTTP server utilities ✔ Zero runtime dependencies --- ## 🔤 Example: Hello Classes **Input C′ code:** ```c #include "console.h" class application { sayHi(char * name) { console.log("Hi ", name); } launch() { this->sayHi("John"); } } void main() { application * app = new application(); app->launch(); } ``` **Generated C:** ```c // pseudo-simplified typedef struct application {} application; void application_sayHi(application * this, char * name) { ... } void application_launch(application * this) { ... } int main() { application * a = application_new(); application_launch(a); } ``` Readable. Fast. Pure C. --- ## 🕹 Constructors ```c class vector3 { float x; float y; float z; constructor(float x, float y, float z) { this->x = x; this->y = y; this->z = z; } display() { printf("x: %f, y: %f, z: %f", this->x, this->y, this->z); } } void main() { vector3 * v = new vector3(1.0, 0.0, 1.0); v->display(); } ``` --- ## 🌐 Minimal HTTP Server ```c #include "../http.h" void handleRequest(struct request * req, struct text * res) { res += "HTTP/1.0 200 OK\r\n\r\nHello from C′!\r\n"; } void main() { http * server = new http(); server->createServer(handleRequest); server->listen(8080); } ``` --- ## 📁 Filesystem Handling Full directory scanning + file reads/writes with class APIs. --- ## 🔧 Templates (Generics) ```c template class vector { T * items; int total; void add(T item) { ... } } ``` Compiler generates correct type-specialized C. --- ## 🧱 Multi-Inheritance ```c class B { ... } class C { ... } class A extends B, C { ... } ``` Properties + methods are merged cleanly and deterministically. --- ## 🧩 SQL via SQLite3 One-liner in-memory database setup: ```c sqlite * sql = new sqlite(":memory:"); sql->selectModel("user"); sql->createTable(); ``` Full CRUD built-in. --- # 🛠 Installation & Build ### Requirements * **TinyCC** OR GCC/Clang * **Linux** or macOS ### Build ```bash make ./cprime input.cprime ``` This generates `.c` + `.h` files in `/output`. --- # 🔍 Internals ### Lexer → Struct Model → Transform → Emit C ``` Lexer ⮡ Tokens ⮡ Syntax Data (structs) ⮡ Rewrite rules ⮡ Generators ``` The compiler itself is written in **clean C99** using a tiny standard library of: * arrays * text utilities * reflection metadata * class loaders --- # 🤝 Contributing C′ is young — contributions are very welcome! Ideas: ✔ Better diagnostics ✔ More docs & examples ✔ Editor syntax support ✔ Windows support ✔ More standard library components --- # 📜 License MIT License — do what you want, just keep the copyright notice. --- # ⭐ Clone C′ Publicly available: ```sh git clone https://code.kajdijkstra.com/kaj/c-prime.git ``` Or SSH: ```sh git clone git@code.kajdijkstra.com:kaj/c-prime.git ``` --- ## 💬 Final words Thank you for checking out C′! If you’ve ever wondered *“How does a compiler **really** work?”* C′ is a simple but powerful place to learn — and create. Future of C coding: **Object-oriented when you want it — pure C where it counts.**