6 مستودعات
Tools that handle macro expansion and conditional compilation for C source code.
Distinct from C: Distinct from C: focuses on the preprocessing stage specifically rather than the language itself.
Explore 6 awesome GitHub repositories matching programming languages & runtimes · Preprocessors. Refine with filters or upvote what's useful.
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
Provides best practices for managing macros through naming prefixes and scope restrictions to minimize side effects.
Chibicc is a C11 compiler designed as a reference implementation for studying compiler construction. It translates C source code into machine-specific assembly instructions by utilizing a pipeline that includes lexical analysis, recursive descent parsing, and single-pass code generation. The project serves as an educational tool for understanding the internal architecture of compilers, from initial tokenization to the final emission of machine code. The compiler distinguishes itself through its self-hosting capability, which allows the software to compile its own source code into a functional
Handles complex macro expansions and conditional compilation directives to prepare source code for translation.
A Small C Compiler
Handles C preprocessing directives with a compact, inline design that avoids external preprocessor dependencies.
Include What You Use هو أداة تحسين تضمين C++ ومحلل تبعية الرؤوس (header dependency). يحدد تضمينات الرؤوس غير المستخدمة أو المفقودة في ملفات المصدر لتقليل تضخم المشروع وتحسين أداء التجميع. تجري الأداة تحليلاً ثابتاً باستخدام شجرة نحو مجردة قائمة على Clang لربط استخدام الرموز وتتبع تأثيرات المعالج المسبق عبر تكوينات بناء مختلفة. يمكنها إعادة كتابة ملفات المصدر تلقائياً عن طريق إدراج أو حذف توجيهات المعالج المسبق بناءً على رسم بياني للتبعية المحسوب. يتكامل النظام مع قواعد بيانات التجميع لتحديد علامات المترجم الدقيقة المستخدمة لكل ملف مصدر، مما يتيح تحليل وتقليم التبعيات عبر المشروع بأكمله.
Tracks C-family preprocessor macros and conditional compilation to ensure accurate dependency analysis across build configurations.
pycparser is a C99 parser library that converts C source code into an abstract syntax tree consisting of Python objects. It functions as an abstract syntax tree generator, transforming preprocessed C code into a structured hierarchy for programmatic analysis and transformation. The library integrates with a C preprocessor to handle directives before parsing. It also features a stub header parser, which uses minimal mock headers to allow the parsing of C code without requiring a full system C library installation. The project provides tools for static code analysis, C program analysis, and so
Integrates with C preprocessors to handle macro expansion and conditional compilation before parsing.
This project provides a collection of minimal, modern configuration templates designed to demonstrate industry-standard practices for managing C and C++ build workflows. It serves as a practical guide for developers to implement build automation, dependency management, and project structuring using the CMake build system. The repository distinguishes itself by offering modular examples that cover complex build requirements, such as hierarchical project organization and the integration of external third-party source code. It emphasizes the use of target-based dependency graphs and interface-ba
Passes custom macros to the compiler during the generation phase to enable conditional compilation logic.