YoVDO

Building Your Own Programming Language

Offered By: Frontend Masters

Tags

Programming Languages Courses Javascript Courses Lexical Analysis Courses Programming Language Design Courses Abstract Syntax Tree Courses

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

Compilers
Stanford 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