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

Programming Languages
University of Virginia via Udacity
Compilers
Stanford University via Coursera
Programming Languages, Part A
University of Washington via Coursera
CSCI 1730 - Introduction to Programming Languages
Brown University via Independent
Intro to Java Programming
San Jose State University via Udacity