Building Your Own Programming Language
Offered By: Frontend Masters
Course Description
Overview
Learn the essential parts of programming language design! Through creating a new programming language, you’ll learn how to break down a program into its necessary elements: first into tokens through lexical analysis, and then into a traversable abstract syntax tree composed of those tokens. You’ll also write an interpreter, and learn how to transpile your language to JavaScript to make it runnable.
Syllabus
- Introduction
- Compilers & Interpreters Overview
- Course Project
- Lexing: Lexical Analysis
- Identity Helpers & Lexer
- Lexing White Space & Parenthesis
- Lexing Numbers & Letters
- Lexing Characters & Strings
- Internal Representations & ASTs
- Steps to Build an AST
- Parsing Exercise
- Parsing Solution
- REPLs
- Adding the Standard Library
- Evaluating Expressions
- Looking Up Identifiers
- Adding to the Standard Library
- Building the REPL CLI
- Running Files from the CLI
- Generation & Babel generate
- Transformation: Visitor Pattern
- Implementing Traverse
- Testing Traverse
- Transform Practice
- Transpiling to JavaScript
- Transforming to Variable Declarations
- Variable Evaluation
- Transpiling Variable Declarations to JavaScript
- Parser Generators
- Wrapping Up
Taught by
Steve Kinney
Related Courses
Programming LanguagesUniversity of Virginia via Udacity Compilers
Stanford University via Coursera Compiler Design
Indian Institute of Technology, Kharagpur via Swayam Compiler Design
YouTube Flex - Lexical Analysis
Write your own Operating System via YouTube