awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rui314 avatar

rui314/chibicc

0
View on GitHub↗
11,694 stele·1,052 fork-uri·C·MIT·10 vizualizări

Chibicc

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 executable binary. This process is supported by a verification suite that ensures language feature compliance and binary integrity. To manage the complexities of the C language, the implementation includes a preprocessor that handles conditional directives and macro expansion, utilizing hidesets to prevent infinite recursion during the translation process.

The system incorporates diagnostic reporting to provide visual feedback on syntax and structural violations. It also includes internal utilities for handling UTF-8 character processing, identifier validation, and dynamic memory management for strings and arrays, ensuring the compiler can process diverse source code inputs efficiently.

Features

  • C11 - Provides a functional C11 compiler that translates source code into machine instructions for modern architectures.
  • C Implementations - Implements a minimal C11 compiler that supports self-hosting and language feature validation.
  • C11 Parsers - Translates C11 source code into assembly while providing detailed diagnostic feedback for errors.
  • C Source Translators - Translates C11 source files into machine-specific assembly instructions for target processor architectures.
  • Compiler Bootstrapping - Verifies compiler integrity by using the generated binary to successfully compile its own source code.
  • Compiler Reference Implementations - Provides a reference implementation for learning compiler construction, including tokenization, macro expansion, and code generation.
  • Compilatoare - Small C compiler implementing most C11 features.
  • Compiler Construction Tutorials - Serves as a reference implementation for studying compiler construction techniques.
  • Recursive Descent Parsers - Translates source code into an abstract syntax tree using recursive function calls corresponding to grammar rules.
  • Self-Hosting Verification Tools - Ensures compiler reliability by successfully compiling its own source code into a working binary.
  • Compiler Verification Suites - Executes comprehensive test suites to ensure accurate processing of language features.
  • Preprocessors - Handles complex macro expansions and conditional compilation directives to prepare source code for translation.
  • Macro Expansion Engines - Replaces macro tokens with defined bodies while preventing infinite recursion.
  • Recursion Protection Mechanisms - Prevents infinite recursion during macro expansion using hidesets to ensure predictable processing.
  • Lexical Analyzers - Converts raw character streams into structured tokens by identifying identifiers, keywords, and punctuators.
  • Single-Pass Generators - Emits machine-specific assembly instructions directly during parsing to minimize memory usage.

Istoric stele

Graficul istoricului de stele pentru rui314/chibiccGraficul istoricului de stele pentru rui314/chibicc

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Chibicc

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Chibicc.
  • rui314/8ccAvatar rui314

    rui314/8cc

    6,395Vezi pe GitHub↗

    A Small C Compiler

    C
    Vezi pe GitHub↗6,395
  • thejameskyle/the-super-tiny-compilerAvatar thejameskyle

    thejameskyle/the-super-tiny-compiler

    28,527Vezi pe GitHub↗

    This project is an educational compiler implementation and a minimalist compiler construction tutorial. It serves as a practical example of how to build a functional compiler through a simplified end-to-end development process, transforming source code into executable instructions. The implementation is designed to teach the fundamentals of language implementation and compiler design. It focuses on the essential mechanics of transforming source code by demonstrating the core architecture of a translation process. The system covers the primary stages of compilation, including lexical analysis

    JavaScript
    Vezi pe GitHub↗28,527
  • jamiebuilds/the-super-tiny-compilerAvatar jamiebuilds

    jamiebuilds/the-super-tiny-compiler

    28,525Vezi pe GitHub↗

    This project is an educational compiler implementation and architecture demo. It serves as a small-scale C-style language compiler designed to demonstrate the fundamental stages of transforming source code into executable machine instructions. The codebase functions as a tool for compiler architecture education and design prototyping. It illustrates the process of building an educational language implementation to help users understand the mechanics of parsing and code generation. The implementation covers the primary stages of a compiler pipeline, including regular expression tokenization,

    JavaScript
    Vezi pe GitHub↗28,525
  • c3lang/c3cAvatar c3lang

    c3lang/c3c

    5,147Vezi pe GitHub↗

    c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte

    C3c3compilerlanguage
    Vezi pe GitHub↗5,147
Vezi toate cele 30 alternative pentru Chibicc→

Întrebări frecvente

Ce face rui314/chibicc?

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.

Care sunt principalele funcționalități ale rui314/chibicc?

Principalele funcționalități ale rui314/chibicc sunt: C11, C Implementations, C11 Parsers, C Source Translators, Compiler Bootstrapping, Compiler Reference Implementations, Compilatoare, Compiler Construction Tutorials.

Care sunt câteva alternative open-source pentru rui314/chibicc?

Alternativele open-source pentru rui314/chibicc includ: rui314/8cc — A Small C Compiler. thejameskyle/the-super-tiny-compiler — This project is an educational compiler implementation and a minimalist compiler construction tutorial. It serves as a… jamiebuilds/the-super-tiny-compiler — This project is an educational compiler implementation and architecture demo. It serves as a small-scale C-style… c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… doctorwkt/acwj — This project is a compiler development tutorial that provides a series of guides and exercises for building a complete… nim-lang/nim — Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform…