Making Compiler Design Relevant for students who will never Design a Compiler
Hello everyone, hope everything is going well for you and your families. I got to say, I wasn't very happy about taking this class (Compiler Design), mainly because I had the mentality that the knowledge of the class in any way was going to be useful in my personal or professional life, because I do not have any plans of developing a compiler in any way.
Today we start with a fascinating article, Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler, by Saumya Debray. It really excited me about the class, because I now can see how useful the knowledge (that I hope I can learn and understand) of this course is. the other way I see the class like a culmination of all the things that I had learned throughout the hole Software engineering career. Understanding the core functionalities of a compiler is going to help all of us to tackle some other problem o creating something super cool (Like LaTeX, that it is a compiler).
This article was an amazing introduction of what are the main processes of a compiler:
- Lexical analysis:
- Process of examining the input and dividing it into groups of adjacent characters, called "tokens"
- Semantic analysis:
- Computation and propagation of information that is not part of the context-free syntax of the language.
- Code generation
- Process of traversing the tree representation of a program to generate assembly or machine code for the target machine.
- Code optimization
- Reduce the "cost" of the generated code.
Comments
Post a Comment