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
CompilersStanford University via Coursera Create a Programming Language and Learn Advanced Python – Full Course
freeCodeCamp Compiler Design
Indian Institute of Technology, Kharagpur via Swayam Formal Language and Automata Theory- An Application in Compiler Design (औपचारिक भाषा और स्वचालित सिद्धांत: कंपाइलर डिज़ाइन में एक अनुप्रयोग)
IGNOU via Swayam Programming Languages
University of Virginia via Udacity