Tags
Language
Tags
May 2025
Su Mo Tu We Th Fr Sa
27 28 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
    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

    Design Your Own Programming Language And Its Compiler Part 1

    Posted By: ELK1nG
    Design Your Own Programming Language And Its Compiler Part 1

    Design Your Own Programming Language And Its Compiler Part 1
    Published 2/2025
    MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
    Language: English | Size: 20.23 GB | Duration: 30h 42m

    using javascript and react js to develop a compiler and its debugging IDE for your own programming language with TDD

    What you'll learn

    Developing an Interpreter using js and react js Programming

    Understand Lexing, Parsing , Evaluation steps of the Parser

    Create a REPL and Debugging IDE for playing with the interpreter

    Develop interpreter for a custom programming language

    Master Advanced compiler topic such as Closures, Class inheritance

    Requirements

    basic programming experiences for javascript, react js,

    Description

    Welcome to the exciting world of interpreter and compiler technology! Are you ready to take your coding skills to the next level? Look no further, because our new course on Udemy has everything you need to dive deep into the fascinating realm of programming language development.In this course, we'll guide you through the creation of your very own interpreter or compiler for a self-defined programming language called DragonScript. But why should you embark on this journey? Let's break it down:Enhance Your Coding Skills: Learning interpreter or compiler technology isn't just cool—it's essential for any programmer looking to level up their skills. Understanding how languages are interpreted or compiled opens doors to deeper insights into programming concepts and boosts your problem-solving abilities.JS and React JS Power: Why JS and React JS? Because they're not just for building web applications! These powerful tools are perfect for developing interpreters or compilers due to their versatility, ease of use, and extensive community support.Interactive and Engaging: Get ready for an interactive and exciting learning experience! Our course is designed to keep you engaged from start to finish with hands-on projects, quizzes, and real-world examples.Step-by-Step and TDD Approach: We take a methodical approach to learning, guiding you through each concept step by step. With a focus on Test-Driven Development (TDD), you'll build your skills in a structured and easy-to-follow manner.Emphasis on Coding: Get ready to roll up your sleeves and dive into coding! This course isn't just about theory—we believe in learning by doing. You'll spend plenty of time writing code, building projects, and honing your skills through practical exercises.Demystifying Compiler Algorithms: Compiler algorithms can seem daunting, but fear not! We'll break down these complex concepts into digestible chunks with plenty of concrete coding examples. By the end of the course, you'll wonder why you ever found them intimidating.Explore key concepts like lexical analysis and grammar parsing, laying the foundation for your journey into language development.Take your skills to the next level with advanced topics such as closures, first-class functions, error handling, and class inheritance. Become a coding maestro in no time!Whether you're a seasoned developer looking to expand your knowledge or a newcomer eager to learn, our course has something for everyone. Join us on this exciting journey and unlock the secrets of interpreter and compiler technology. Enroll now and start building your own programming language today!

    Overview

    Section 1: course introduction

    Lecture 1 make your hand wetted

    Lecture 2 about my self

    Lecture 3 how to get most out of this course

    Section 2: What is Lexing

    Lecture 4 Make your hand wetted

    Lecture 5 introduction to lexing

    Lecture 6 init project for lexing

    Lecture 7 Init Scanner and setup test cases

    Lecture 8 Begin lexing process and past test cases

    Lecture 9 Finish scanning for all single character operator

    Lecture 10 Scanning for operator with two characters

    Lecture 11 Lexing Comment Operator

    Lecture 12 Ignore space and count newlines

    Lecture 13 Handling string token

    Lecture 14 Handling number token

    Lecture 15 Lexing Identifier

    Lecture 16 Lexing key words

    Lecture 17 Handling multiple tokens in one line

    Lecture 18 Create a terminal emulator

    Section 3: What is parsing

    Lecture 19 Introduction to what is parsing in compiler algorithm

    Lecture 20 Implementing a arithmetic parser

    Lecture 21 Debugging the arithmetic parser

    Lecture 22 Solution for arithmetic parser

    Lecture 23 Introduction to abstract syntax tree

    Lecture 24 Coding abstract syntax tree 1

    Lecture 25 Coding abstract syntax tree 2

    Lecture 26 Recursive descent parser

    Lecture 27 Init the parser class

    Lecture 28 Add token handling methods for parser

    Lecture 29 Begin implementation of parsing algorithm

    Lecture 30 Transfer more grammar rules into recursive function calls

    Lecture 31 Complete all function calls for expression grammar

    Lecture 32 parsing expression with operator + and -

    Lecture 33 Enable parsing keyword, brackets and two new operator that are *, /

    Lecture 34 Add support for operator multiply, division, and brackets

    Lecture 35 Add support for comparison and equality operator

    Section 4: Evaluation

    Lecture 36 Drawing the parsing tree

    Lecture 37 hands on visitor pattern, part one

    Lecture 38 hands on visitor pattern, part two

    Lecture 39 begin evaluation by using visitor pattern and adding testing cases

    Lecture 40 Evaluate expression with parentheses

    Lecture 41 Evaluate expression with unary operator

    Lecture 42 Set the truthiness and falseness rule

    Lecture 43 Evaluation for expression with binary operator + and -

    Lecture 44 Evaluation for expression with operator * and /

    Lecture 45 Evaluate on comparison operator

    Lecture 46 Evaluate on equality operator

    Lecture 47 Enable number and string for add and multiply method

    Lecture 48 Report error for operation with incompatible type

    Lecture 49 Fix bug of parsing tree structure adjustment

    Section 5: Evaluation of Statements

    Lecture 50 Introduce to statements

    Lecture 51 Parsing and evaluating print statement

    Lecture 52 Runtime and Evaluation of multiple lines of code

    Lecture 53 Introduce to variable declaration grammar rules

    Lecture 54 Code for parsing variable declaration

    Lecture 55 Variable binding and reference

    Lecture 56 Grammar rules for variable assignment

    Lecture 57 Code for parsing variable assignment

    Lecture 58 Assign to l-value only

    Lecture 59 Evaluate assignment statement

    Lecture 60 Parsing block statement

    Lecture 61 Evaluating variable declarations in local scope

    Lecture 62 More test cases for variable scoping

    Section 6: Control statements

    Lecture 63 Introduce to control statements

    Lecture 64 Parsing if else statement

    Lecture 65 Introduce to logic operators

    Lecture 66 Evaluating if else statement

    Lecture 67 Parsing logic operators

    Lecture 68 Evaluate logic operators

    Lecture 69 Parsing while loop

    Lecture 70 Evaluate the while loop

    Lecture 71 Parsing the for loop

    Lecture 72 Introduce to break and continue statements

    Lecture 73 Evaluating the for loop

    Lecture 74 Parsing continue and break statement

    Lecture 75 Evaluate break and continue statement

    Section 7: Parsing and Evaluating function call

    Lecture 76 Introduce the principle of function call parsing

    Lecture 77 Code implementation for function call parsing

    Lecture 78 Debugging the process of function call parsing

    Lecture 79 Introduce the parsing of function declaration

    Lecture 80 Code implementation for parsing function declaration

    Lecture 81 Debugging the code for parsing function declaration

    Lecture 82 Code implementation for evaluating function call

    Lecture 83 Step by step debugging of code for evaluating function call

    Lecture 84 Handle errors related to function call

    Lecture 85 Parsing return statement

    Lecture 86 Evaluation of return statement

    Lecture 87 Make sure return statement inside function body

    Lecture 88 code implementation for unnamed function call

    Lecture 89 debugging parsing and evaluating unnamed function

    Section 8: Binding an variable resoultuion

    Lecture 90 Introduce to the problem scoping and binding

    Lecture 91 Code implementation for variable resolution

    Lecture 92 Variable binding by resolver

    Lecture 93 Debugging the code of variable resolution

    Section 9: Class

    Lecture 94 Parsing class definition

    Lecture 95 Init class instance

    Lecture 96 Grammar rule for setting and getting instance property

    Lecture 97 Code implementation for getting and setting instance property

    Lecture 98 Introuduce to evaluation of class property setting and getting

    Lecture 99 Clone The class parsing tree

    Lecture 100 Code for setting and getting properties of class instance

    Lecture 101 8.parsing method call combine with field accessing

    Lecture 102 Assigning value to fields of class instance

    Lecture 103 Code implementation for this keyword and method calling1

    Lecture 104 Code implementation for this keyword and method calling2

    Lecture 105 Introduce to class constructor

    Lecture 106 Code implementation for class constructor

    Lecture 107 Error handling for class

    students and developer interesting in compiler design