[GH-ISSUE #6] [Feat] Proposal: Add a Roadmap for Learning Compilers #2

Open
opened 2025-11-19 16:39:02 -06:00 by GiteaMirror · 4 comments
Owner

Originally created by @onehr on GitHub (Jan 14, 2025).
Original GitHub issue: https://github.com/mohitmishra786/amILearningEnough/issues/6

Description:
I would like to propose adding a roadmap for learning compilers to this repository. Compilers are a critical part of software development, and understanding how they work can deepen one's knowledge of programming languages, optimization, and system-level programming. This roadmap would include:

  1. Why Learn Compilers?

    • Understand the inner workings of programming languages.
    • Gain insights into code optimization and performance.
    • Learn about parsing, code generation, and intermediate representations.
    • Explore intermediate/advanced topics like incremental compilation and JIT (Just-In-Time) compilation.
  2. A Step-by-Step Roadmap

    • Beginner: Introduction to compilers, lexing, and parsing.
    • Intermediate: Code generation, intermediate representations (e.g., AST, IR).
    • Advanced: Optimization techniques, type systems, and incremental compilation.
  3. Resources
    (e.g.): Engineering a Compiler, An Incremental Approach to Compiler Construction

  4. Example Project
    namin/inc: an incremental approach to compiler construction

BTW, I have a small project, Crust, which is a simple compiler written in three days while I was learning Rust. I plan to polish it into a more educational resource for learning compiler construction. It could serve as a starting point for others interested in writing their own compilers.

  1. Advanced Topics
    • Interesting algorithms used in optimizing compilers (e.g., polyhedral model, symbolic reasoning).
    • Tensor Compilers

Why I'm Interested:
I have been working on industrial-level compilers for several years and am passionate about sharing knowledge in this area. I believe this roadmap would be a valuable addition to the repository, complementing the existing low-level programming resources.

Next Steps:
If this proposal is interested, I am willing to help draft the roadmap, curate resources, and provide examples.

Originally created by @onehr on GitHub (Jan 14, 2025). Original GitHub issue: https://github.com/mohitmishra786/amILearningEnough/issues/6 **Description:** I would like to propose adding a roadmap for learning compilers to this repository. Compilers are a critical part of software development, and understanding how they work can deepen one's knowledge of programming languages, optimization, and system-level programming. This roadmap would include: 1. **Why Learn Compilers?** - Understand the inner workings of programming languages. - Gain insights into code optimization and performance. - Learn about parsing, code generation, and intermediate representations. - Explore intermediate/advanced topics like incremental compilation and JIT (Just-In-Time) compilation. 2. **A Step-by-Step Roadmap** - **Beginner:** Introduction to compilers, lexing, and parsing. - **Intermediate:** Code generation, intermediate representations (e.g., AST, IR). - **Advanced:** Optimization techniques, type systems, and incremental compilation. 3. **Resources** (e.g.): *Engineering a Compiler*, [An Incremental Approach to Compiler Construction](http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf) 4. **Example Project** [namin/inc: an incremental approach to compiler construction](https://github.com/namin/inc) > BTW, I have a small project, [Crust](https://github.com/onehr/crust/tree/toy), which is a simple compiler written in three days while I was learning Rust. I plan to polish it into a more educational resource for learning compiler construction. It could serve as a starting point for others interested in writing their own compilers. 5. **Advanced Topics** - Interesting algorithms used in optimizing compilers (e.g., polyhedral model, symbolic reasoning). - Tensor Compilers **Why I'm Interested:** I have been working on industrial-level compilers for several years and am passionate about sharing knowledge in this area. I believe this roadmap would be a valuable addition to the repository, complementing the existing low-level programming resources. **Next Steps:** If this proposal is interested, I am willing to help draft the roadmap, curate resources, and provide examples.
Author
Owner

@mohitmishra786 commented on GitHub (Jan 14, 2025):

Hello @onehr ,

It is a great idea, please go ahead and create a draft
Feel free to let me know if you need any help from my side, I do have some good resources on compiler which we can eventually add once the draft is merged

@mohitmishra786 commented on GitHub (Jan 14, 2025): Hello @onehr , It is a great idea, please go ahead and create a draft Feel free to let me know if you need any help from my side, I do have some good resources on compiler which we can eventually add once the draft is merged
Author
Owner

@onehr commented on GitHub (Jan 16, 2025):

Great @mohitmishra786 , I will draft a version when I have time recently and let you know with PR.

@onehr commented on GitHub (Jan 16, 2025): Great @mohitmishra786 , I will draft a version when I have time recently and let you know with PR.
Author
Owner

@mohitmishra786 commented on GitHub (Jan 18, 2025):

sure, looking forward to it

@mohitmishra786 commented on GitHub (Jan 18, 2025): sure, looking forward to it
Author
Owner

@mohitmishra786 commented on GitHub (Apr 5, 2025):

@onehr no rush, did you got anytime for the issue? or any progress? I can help if needed

@mohitmishra786 commented on GitHub (Apr 5, 2025): @onehr no rush, did you got anytime for the issue? or any progress? I can help if needed
GiteaMirror changed title from [Feat] Proposal: Add a Roadmap for Learning Compilers to [GH-ISSUE #6] [Feat] Proposal: Add a Roadmap for Learning Compilers 2026-04-10 22:17:25 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/amILearningEnough#2