Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
Discover the principles of programming language design and learn how to build the foundational components of a compiler, including scanning, parsing, and syntax tree construction. This course guides you through the essential steps to define, analyze, and process programming languages.
This course introduces the motivations for creating new programming languages and explores the process of designing language features and control flow. Learners will gain practical experience in building the frontend of a compiler, including lexical analysis, parsing, and syntax tree construction. By the end of the course, you will understand how to specify language syntax, implement scanners and parsers, and represent program structure using syntax trees.
Through clear explanations, practical examples, and self-assessment quizzes, this course provides a step-by-step guide to designing a programming language and implementing its frontend components. Learners will build a strong foundation for further exploration of compiler construction and language implementation.
This course is part one of a three-course Specialization designed to build a complete and cohesive understanding of the subject. While it offers valuable skills on its own, you'll gain the most benefit by progressing through all three courses as a structured learning journey.
This course is based on Build Your Own Programming Language, by Clinton L. Jeffery.