Tags
Language
Tags
July 2025
Su Mo Tu We Th Fr Sa
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Develop An Interpreter Using Typescript

    Posted By: ELK1nG
    Develop An Interpreter Using Typescript

    Develop An Interpreter Using Typescript
    Published 7/2023
    MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
    Language: English | Size: 6.57 GB | Duration: 14h 26m

    Develop an interpreter from scratch without third-party libraries

    What you'll learn

    Developing an Interpreter using TypeScript

    Understand Lexing, Parsing , Evaluation steps of the Parser

    Create a REPL for playing with the interpreter

    Develop interpreter for a custom programming language

    Develop and understand Pratt Parser logic

    Requirements

    Experience with TypeScript & JavaScript

    Description

    Hello everyone welcome to the course Develop an Interpreter using TypeScript.This course is a comprehensive and practical guide that takes you on a journey of building your own interpreter using the TypeScript language. This course is inspired by the great book Writing An Interpreter In Go by Thorsten Ball. All credit to him as well. We will demystify the complex world of interpreters in this course.The course begins by introducing the fundamental concepts of interpreters and programming languages, making it accessible to both beginners and experienced developers. We will build an interpreter using TypeScript for a custom programming language called Monkey through a hands-on approach.we will understand key concepts such as lexical analysis, parsing, and evaluating expressions. In the course we will learn how to design and implement a lexer and a recursive descent parser, providing you learners with a solid foundation in language processing techniques.The course will help developers seeking to deepen their understanding of language implementation.During the process of developing an interpreter, we will also learn more advanced topics like closures, first-class functions, and error handling.By the end of the course, you would have hopefully gained a deep understanding of how interpreters work and the skills to build your own programming language, opening up new possibilities for exploration and creativity in the world of software development.

    Overview

    Section 1: Introduction

    Lecture 1 Introduction

    Lecture 2 Birds Eye view of Interpreter

    Lecture 3 Monkey Programming Language Overview

    Section 2: Lexical Analysis

    Lecture 4 Lexical Analysis Introduction

    Lecture 5 Installation of Tools

    Lecture 6 Initial Project Setup

    Lecture 7 Configure Vitest as Test Runner

    Lecture 8 Token Type

    Lecture 9 Lexer's Next Token Implementation

    Lecture 10 Lexer's Next Token Implementation Re-Explanation

    Lecture 11 Extending the test to have input as valid Monkey Programming Language

    Lecture 12 Implementing reading Identifier Tokens

    Lecture 13 Skipping Whitespace and Lookup Ident method

    Lecture 14 Reading Numbers

    Lecture 15 Extend Single Character Tokens

    Lecture 16 Updating Next Token Method

    Lecture 17 Extend the Keywords

    Lecture 18 Extending Tokens with Double Character Tokens

    Lecture 19 Creating a REPL

    Lecture 20 Fix for issue in REPL

    Section 3: Parsing

    Lecture 21 Introduction to Parser

    Lecture 22 Introduction to Parsing Let Statements

    Lecture 23 AST for Statement and Expression Node

    Lecture 24 AST for Let and Identifiers

    Lecture 25 Starting with Parser Implementation

    Lecture 26 Test case for Parsing Let Statements

    Lecture 27 Explanation of Test case

    Lecture 28 Implementation of parseStatement method

    Lecture 29 Completing the parsing of let statement

    Lecture 30 Adding errors to Parser

    Lecture 31 Parsing Return Statements

    Lecture 32 Introduction to Parsing Expressions

    Lecture 33 Refactoring AST Module

    Lecture 34 Add string method to root AST Node

    Lecture 35 Infix and Prefix Methods

    Lecture 36 Identifier Expression Test case

    Lecture 37 Parsing Identifiers Implementation

    Lecture 38 Parse Integer Literals

    Lecture 39 Test case for Prefix Expression

    Lecture 40 Implementation of Prefix Expression

    Lecture 41 Test case for Infix Expression

    Lecture 42 Implementation of Infix Expression

    Lecture 43 Operator Precedence Test

    Lecture 44 How Pratt Parser works

    Lecture 45 Refactoring Tests

    Lecture 46 AST and Test for Boolean Expressions

    Lecture 47 Implementation of Boolean Expression

    Lecture 48 Implementation of Grouped Expressions

    Lecture 49 AST for If Expression

    Lecture 50 Test case for If Else Expression

    Lecture 51 Implementation of If Else Expression

    Lecture 52 AST and Test case for Function Literal

    Lecture 53 Implementation of Function Literal

    Lecture 54 AST and Test case for Call Expression

    Lecture 55 Implementation of Call Expression

    Lecture 56 Working on Todo's

    Lecture 57 Completion of Parser with update to REPL

    Section 4: Evaluator

    Lecture 58 Evaluation Introduction

    Lecture 59 Object Representation

    Lecture 60 Integer Representation

    Lecture 61 Boolean and Null Representation

    Lecture 62 Evaluation Implementation of Integer

    Lecture 63 Evaluation Implementation of Boolean

    Lecture 64 Null implementation

    Lecture 65 Evaluation of Prefix Expression

    Lecture 66 Evaluation of Infix (Integers)

    Lecture 67 Evaluation of Infix (Integers) - Boolean Operators

    Lecture 68 Evaluation of Infix (Boolean)

    Lecture 69 Conditionals

    Lecture 70 Return Statement

    Lecture 71 Error Handling

    Lecture 72 Let Statement

    Lecture 73 Functions Pt.1

    Lecture 74 Functions Pt.2

    Lecture 75 End of Evaluation

    Section 5: Adding Data Structures

    Lecture 76 Introduction

    Lecture 77 String Data Structure - Lexer

    Lecture 78 String Data Structure - Parser

    Lecture 79 String Data Structure - Evaluator

    Lecture 80 String Data Structure - Concatenation

    Lecture 81 Builtin Functions

    Lecture 82 Builtin Function - len (string)

    Lecture 83 Array - Lexer

    Lecture 84 Array - Parsing

    Lecture 85 Parsing Array Index Expressions

    Lecture 86 Evaluate Array Literals

    Lecture 87 Evaluate Array Index Expressions

    Lecture 88 Array builtin Functions

    Lecture 89 Hash Data Structure - Lexer

    Lecture 90 Hash Data Structure - Parsing

    Lecture 91 Hash Data Structure - Hash Key

    Lecture 92 Hash Data Structure - Object Representation

    Lecture 93 Hash Data Structure - Evaluation

    Lecture 94 Hash Data Structure - Index Expression

    Lecture 95 Builtin Method - Puts

    Section 6: Conclusion

    Lecture 96 Conclusion

    Lecture 97 Bonus Lecture

    Intermediate JavaScript / TypeScript developers