United KingdomJamesbarford/holyc-lang
HolyC compiler & transpiler
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tuần
#1 Repository Của Tuần
#2 Repository Của Tuần
🧑💻 holyc-lang: Trình biên dịch HolyC từ đầu bằng C
Một trình biên dịch HolyC được viết từ đầu bằng C, hỗ trợ tối ưu hóa cơ bản và sinh mã assembly cho cả x86_64 và AArch64.
Đây là một dự án cá nhân do Jamesbarford phát triển, nhằm triển khai lại ngôn ngữ lập trình HolyC — ngôn ngữ gốc của hệ điều hành TempleOS do Terry A. Davis tạo ra. Trình biên dịch này không chỉ dịch mã nguồn HolyC thành mã máy, mà còn hỗ trợ transpiling sang C và sinh ra đồ thị luồng điều khiển (CFG).
✨ Điểm nổi bật
- Biên dịch từ AST: Xây dựng cây cú pháp trừu tượng (AST), sau đó hạ xuống IR dạng SSA trước khi sinh assembly.
- Hỗ trợ đa nền tảng: Sinh mã assembly cho cả kiến trúc x86_64 và AArch64.
- Tối ưu hóa cơ bản: Hỗ trợ các tối ưu như constant folding và loại bỏ mã chết (dead code elimination).
- Hỗ trợ số thực: Hỗ trợ số học dấu phẩy động (floating point arithmetic).
- Transpiler thử nghiệm: Hỗ trợ chuyển đổi HolyC sang C thông qua
hcc -transpile, dù độ ổn định chưa cao. - Đồ thị luồng điều khiển: Hỗ trợ xuất file
.dotđể vẽ CFG bằng Graphviz. - Thư viện chuẩn: Cung cấp các thư viện hỗ trợ như chuỗi, bảng băm, I/O, toán học, mạng và JSON.
- Tích hợp SQLite3: Có thể bật hỗ trợ SQLite3 bằng cờ
-DHCC_LINK_SQLITE3=1.
💡 Vì sao đáng chú ý
Khác với các trình biên dịch thương mại, holyc-lang mang lại cách tiếp cận minh bọc: mã nguồn được ánh xạ rõ ràng tới assembly, giúp người dùng dễ dàng theo dõi quá trình biên dịch. Dự án cũng mở rộng HolyC với các tính năng hiện đại như từ khóa auto để suy diễn kiểu và vòng lặp for dựa trên phạm vi (range-based for loops).
Dù chỉ mang tính thử nghiệm và không phù hợp cho phát triển phần mềm thực tế, holyc-lang là một nguồn tài nguyên tuyệt vời cho những người muốn khám phá ngôn ngữ lập trình độc đáo của TempleOS hoặc học hỏi cách xây dựng một trình biên dịch từ đầu.
#HolyC #Compiler #Transpiler #TempleOS #ProgrammingLanguage #TiniX
Similar Projects
Discover other similar projects and AI models.
Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
Clone any viral video with AI agents. Not just a script, the whole workflow: swap the face, the words, the B-roll, ship 100 variants in one command, and get your 100M views.