Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

I Built My Own Compiled Programming Language. Here’s What I Learned.

说明与用途

YLang 是一个开源编译型语言,作者通过它探索语言设计和编译器构建。它使用 C17 编写,利用 GCC/Clang 生成可执行文件,并支持结构体、枚举、多文件、SDL2 GUI、HTTP 等功能。经验教训强调正确性、内存安全、测试、架构和文档的重要性。

问题

Understanding what it takes to build a real compiler and a usable programming language.

结果

YLang demonstrates that building a compiler is more complex than syntax design; key lessons include the importance of correctness, memory safety, testing, architecture, and documentation.

工作流

  • Define language goals (readable syntax, static typing, native output, diagnostics, desktop foundation).
  • Design lexer, parser, AST, semantic analysis, C codegen, and native backend pipeline.
  • Implement compiler in C17 following pipeline: source → lexer → parser → AST → semantic analysis → C codegen → GCC/Clang → executable.
  • Add features (structs, enums, multiple files, NASM backend, SDL2 GUI, HTTP, debugging).
  • Address memory ownership with experimental owned/borrowed types.
  • Plan 3.0 architecture: introduce typed IR, separate backends, add optimizations and verification.
  • Iterate and document limitations.
  • Release stable 2.2.0 and continue development on 3.0 branch.

证据

YLang's compiler is written in C17.

来源

Its established compilation pipeline looks like this: YLang source (.yl) | v Lexer | v Parser | v AST | v Semantic Analysis | v C Codegen | v GCC / Clang | v Native executable

来源

YLang 2.2.0 is the latest stable release.

来源

  • 记录日期: 2026-11-02T22:13:45.494Z