build-your-own-x
chibicc
Our great sponsors
build-your-own-x | chibicc | |
---|---|---|
252 | 21 | |
250,792 | 8,448 | |
3.7% | - | |
6.7 | 0.0 | |
6 days ago | 5 months ago | |
C | ||
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
build-your-own-x
-
10 GitHub repositories that every developer must follow
✅ codecrafters-io/build-your-own-x : https://github.com/codecrafters-io/build-your-own-x
- 18 Must-Bookmark GitHub Repositories Every Developer Should Know
-
Top 10 GitHub Repositories Every Developer Should Bookmark in 2024
8) Build Your Own X: Unleash your inner inventor and embark on a journey of self-creation with this collection of project ideas for building your own software, tools, and even operating systems. Fuel your entrepreneurial spirit and learn valuable engineering principles by bringing your innovative ideas to life. (https://github.com/codecrafters-io/build-your-own-x)
-
Crafting Interpreters
Also if we can someone merge this level of detail/guidance with the projects on https://codecrafters.io/, i would easily pay for something like that.
-
Resources I wish I knew when I started my career
Build your own X is another useful resource for a curious mind.
- Milyen hasznos Github repokat ismertek?
-
Build Your Own BitTorrent
This links to the product's application, but the main website clears things up: https://codecrafters.io/
- Ask HN: What books or courses do you know similar to "From Nand to Tetris"?
-
Ask HN: Leetcode for Back End and Server Development
- https://hackattic.com/ : Interesting programming Problems.
- https://sadservers.com/ : Learn Linux by solving problems.
- https://fly.io/dist-sys/ : Distributed Systems Problems.
- https://github.com/pingcap/talent-plan/ : System Programming / Distributed System Challenge.
- https://protohackers.com/ : Server Programming Challenges.
- https://codecrafters.io/ : Implement server tech / softwares from scratch.
- https://hyperskill.org/ : Lots of projects based tutorials.
chibicc
- Cwerg: C-like language that can be implemented in 10kLOC
- Apple hiring compiler developers for improving Swift / C++ interoperability
-
GCC always assumes aligned pointer accesses
If a --k&r mode was to be reliable, wouldn't it need to get specified first? Otherwise people would start relying on some edge case.
If speed is not a requirement for the --k&r mode, you could just take the tis-interpreter and note that if it runs without UB, it is still much faster than an actual computer was when k&r were active.
Would it even be possible to specify a variant of C that contains no UB (e.g. would define exactly what happens on unaligned access), but can compile practical existing C89 programs? I wonder if it could be written such that it could actually specify the behaviour consistently across the language intersection supported by both of e.g. GCC 2.95 and Chibicc[0].
Or maybe there are so many bugs in GCC 2.95 that it would simply be infeasible? How much time would it take to specify?
-
Best practice to store context for a C compiler
chibicc
-
SectorC: A C Compiler in 512 bytes
chibicc: https://github.com/rui314/chibicc (A reasonably digestible C implementation)
Particularly for this project: x86 encoding reference: http://ref.x86asm.net/ Ralf Brown's Interrupt List: http://www.ctyme.com/rbrown.htm OS Dev: https://wiki.osdev.org/Expanded\_Main\_Page For compiler dev more broadly: Incremental Approach to Compiler Construction: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf (I can't recommend this approach enough. I don't understand why they don't teach it this way normally.) Crafting Interpretors: https://craftinginterpreters.com/ (Not about C but more broadly it might be the best recent work of pedagogy on Compiler Construction) chibicc: https://github.com/rui314/chibicc (A reasonably digestible C implementation) otcc: https://github.com/xorvoid/otcc\_deobfuscated/blob/main/otcc\_commented.c (shameless plug for sure)
- List of (open source) C compilers
- Chibicc – A Small C Compiler
-
Are Hoistings Possible for C++?
When you say a fork of LLVM, am I correct in assuming that you specifically mean a fork of Clang? I don't see how the compiler backend would affect support for language extensions, regardless of whether it's an exception to that such as Tcc, Cproc, the MIR C jitter, lacc, 8cc, 9cc, and chibicc. Most of those are not for production, excluding Cproc and Tcc (at least according to Suckless or Oasis).
-
What's a good way to convert C headers to constant declarations and foreign imports of another language?
Yeah, that makes sense. I'm actually seriously considering using parts of https://github.com/rui314/chibicc for this project. Or maybe giving up and continue doing it by regex + hand is not that bad of an option. Thank you for sharing your experience!
What are some alternatives?
project-based-learning - Curated list of project-based tutorials
8cc - A Small C Compiler
mold - Mold: A Modern Linker 🦠
SmallerC - Simple C compiler
languages - Powers multi-language support for CodeCrafters challenges
Daily-Coding-DS-ALGO-Practice - A open source project🚀 for bringing all interview💥💥 and competative📘 programming💥💥 question under one repo📐📐
computer-science - :mortar_board: Path to a free self-taught education in Computer Science!
every-programmer-should-know - A collection of (mostly) technical things every software developer should know about
Co-dfns - High-performance, Reliable, and Parallel APL
quickjs - Public repository of the QuickJS Javascript Engine.
forward-proxy - Minimal HTTP(S) forward proxy using 150LOC and only standard libraries.
system-design-primer - Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.