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
Beautiful RacketIndependent Rust: A Language for the Next 40 Years
ChariotSolutions via YouTube Move Deliberately and Don't Break Anything: Lessons from Java Evolution
ChariotSolutions via YouTube Flex - Lexical Analysis
Write your own Operating System via YouTube The Role of Computer Science in Computer Science Education
Association for Computing Machinery (ACM) via YouTube