Compilers: Theory and Practice
Below are the top discussions from Reddit that mention this online Udacity course.
This course teaches the theory and practice behind building compilers for higher level programming languages.
Reddacity may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Udacity. Thank you for using these buttons to support Reddacity.
Reddit Posts and Comments
0 posts • 5 mentions • top 4 shown below
2 points • TheApadayo
https://www.udacity.com/course/compilers-theory-and-practice--ud168
The first half of this course goes over the front end of a compiler which is what you want to write. It doesn’t contain any LLVM specifics but honestly that part shouldn’t be hard and is covered by many different tutorials around the web. The hard part is implementing the parsing, semantic analysis, and code lowering.
Also, interfacing with LLVM is it’s own task that shouldn’t even be bothered with until you have the rest of the front end working to some degree.
2 points • slayerizer
PS: I'm just here trying to provide extra help, I have/receive no benefits from posting these links. I like the content that Bisqwit produces and wanted to help him reach a bigger audience.
PS #2, feel free to annotate the content, I didn't sit down and watch the whole content of each links, I just made sure they were in english (which is also not my native language).
I found a free course (which I have not taken) that might be of interest:
compilers-theory-and-practice--ud168
Description of the course
Front End
-
Compiler Phases
-
Scanners & Parsers
-
Semantic Analysis
Middle End
-
Syntax Directed Translation
-
Control Structures and Back-patching
-
Function and Procedure Calls & Runtime Organization
Back-end
-
Register Allocation & Instruction Selection
-
Code layout and Code Generation
-
Brief Introduction to Code Optimization
Cheers!
1 points • JTGhawk137
https://www.udacity.com/course/compilers-theory-and-practice--ud168
1 points • dmazzoni
If you're still a beginner, don't worry about this too much and focus on learning the language.
As you get more comfortable programming, any Computer Science program will have a class on Compilers that will cover this. Here's an example you could take online: https://www.udacity.com/course/compilers-theory-and-practice--ud168
Once you know Compilers you'd be able to start diving into the source code for an actual compiler. Note that these projects are huge, though - GCC is more than 15 million lines of code. Nobody understands the whole thing. People who work on it tend to specialize, like people who focus on parsing, linking, the standard library, the optimizer, different processor back-ends, and so on.
​