- 138
- 436 145
Advanced Maths
Pakistan
Приєднався 22 бер 2020
I hold a Ph.D. from the University of Freiburg, Germany, and have over ten years of teaching experience at a university. I have a passion for mathematics and theoretical computer science. My goal is to create comprehensive lecture videos for various courses.
While I may never reach a million subscribers and generate enough income to sustain myself through UA-cam advertisements, I sincerely appreciate your support. Hopefully, with your continued support, I can aspire to become a full-time content creator one day. If you'd like to make my day, consider supporting my channel:
patreon.com/advancedmath
www.buymeacoffee.com/drfaisalaslam
While I may never reach a million subscribers and generate enough income to sustain myself through UA-cam advertisements, I sincerely appreciate your support. Hopefully, with your continued support, I can aspire to become a full-time content creator one day. If you'd like to make my day, consider supporting my channel:
patreon.com/advancedmath
www.buymeacoffee.com/drfaisalaslam
Compilers: An Overview of Parsing Techniques -- LL(1), Recursive Descent, SLR, CLR, and LALR
In this video, we explore the basics of parsing, its purpose, and the different techniques used in compiler design. If you're new to the subject or just looking for a refresher, you're in the right place!
### **What You'll Learn:**
- What is parsing?
- The role of parsers in translating a program’s code into a parse or syntax tree.
- Differences between parse trees and syntax trees with examples.
- What happens when parsing fails?
- A high-level view of parsing algorithms.
### **Key Parsing Techniques Covered:**
#### 1. **Top-Down Parsing:**
- LL(1) Parsing
- Recursive Descent Parsing and its variations:
- Vanilla Recursive Descent
- Using FIRST and FOLLOW Sets
- With Backtracking
#### 2. **Bottom-Up Parsing:**
- LR Parsing Algorithms (LR(0) and LR(1))
- Parsing Schemes:
- **SLR (Simple LR Parsing)**
- **CLR (Canonical LR Parsing)**
- **LALR (Lookahead LR Parsing)**
### **Why This Video Matters:**
This video gives you a bird’s-eye view of parsing techniques without diving into complex details. It's a great starting point for beginners and a helpful recap for advanced learners. Plus, it sets the stage for our deep-dive videos on each parsing method, linked below!
### **Related Videos & Resources:**
- [Learn Recursive Descent Parsing with Code Walkthrough](ua-cam.com/video/pP32ssBg1Yw/v-deo.html)
- [How to Create LL(1) Parsing Table?](ua-cam.com/video/uFR1dgevYMk/v-deo.htmlsi=KQEHU5wooq8MSAvt)
- [Create a Parse Tree Using LL(1) Parsing Table](ua-cam.com/video/3cVoQbFwGR8/v-deo.htmlsi=worcqX43V9Wcc0ay)
- [Example of LR(0) Automaton](ua-cam.com/video/BxMFn7aelBk/v-deo.htmlsi=3Qo_pB-fXLEdvnL0)
- [Creating SLR(1) and LR(0) Parsing Tables](ua-cam.com/video/YjEck_rmrQs/v-deo.htmlsi=Bqol0qFG9p6Kgmi5)
- [The Parsing Algorithm of LR Parsers](ua-cam.com/video/zIQgky-hXJ4/v-deo.htmlsi=A3Hi6uEqfEPEodRP)
- [Example of Creating LR(1) Automaton and CLR Parsing Table](ua-cam.com/video/sh_X56otRdU/v-deo.htmlsi=SQJ0qFtavGf40Yiv)
- [LookAhead LR (LALR) Parsing Table Creation](ua-cam.com/video/d-8KAKXQ-Jw/v-deo.htmlsi=6NX_fc4JJpt2KURB)
### **Support This Channel:**
I would greatly appreciate it if you could treat me to a cup of coffee or show support for my channel through any other means. You can do so by visiting:
- [Patreon](patreon.com/advancedmath)
- [Buy Me a Coffee](www.buymeacoffee.com/drfaisalaslam)
### **What You'll Learn:**
- What is parsing?
- The role of parsers in translating a program’s code into a parse or syntax tree.
- Differences between parse trees and syntax trees with examples.
- What happens when parsing fails?
- A high-level view of parsing algorithms.
### **Key Parsing Techniques Covered:**
#### 1. **Top-Down Parsing:**
- LL(1) Parsing
- Recursive Descent Parsing and its variations:
- Vanilla Recursive Descent
- Using FIRST and FOLLOW Sets
- With Backtracking
#### 2. **Bottom-Up Parsing:**
- LR Parsing Algorithms (LR(0) and LR(1))
- Parsing Schemes:
- **SLR (Simple LR Parsing)**
- **CLR (Canonical LR Parsing)**
- **LALR (Lookahead LR Parsing)**
### **Why This Video Matters:**
This video gives you a bird’s-eye view of parsing techniques without diving into complex details. It's a great starting point for beginners and a helpful recap for advanced learners. Plus, it sets the stage for our deep-dive videos on each parsing method, linked below!
### **Related Videos & Resources:**
- [Learn Recursive Descent Parsing with Code Walkthrough](ua-cam.com/video/pP32ssBg1Yw/v-deo.html)
- [How to Create LL(1) Parsing Table?](ua-cam.com/video/uFR1dgevYMk/v-deo.htmlsi=KQEHU5wooq8MSAvt)
- [Create a Parse Tree Using LL(1) Parsing Table](ua-cam.com/video/3cVoQbFwGR8/v-deo.htmlsi=worcqX43V9Wcc0ay)
- [Example of LR(0) Automaton](ua-cam.com/video/BxMFn7aelBk/v-deo.htmlsi=3Qo_pB-fXLEdvnL0)
- [Creating SLR(1) and LR(0) Parsing Tables](ua-cam.com/video/YjEck_rmrQs/v-deo.htmlsi=Bqol0qFG9p6Kgmi5)
- [The Parsing Algorithm of LR Parsers](ua-cam.com/video/zIQgky-hXJ4/v-deo.htmlsi=A3Hi6uEqfEPEodRP)
- [Example of Creating LR(1) Automaton and CLR Parsing Table](ua-cam.com/video/sh_X56otRdU/v-deo.htmlsi=SQJ0qFtavGf40Yiv)
- [LookAhead LR (LALR) Parsing Table Creation](ua-cam.com/video/d-8KAKXQ-Jw/v-deo.htmlsi=6NX_fc4JJpt2KURB)
### **Support This Channel:**
I would greatly appreciate it if you could treat me to a cup of coffee or show support for my channel through any other means. You can do so by visiting:
- [Patreon](patreon.com/advancedmath)
- [Buy Me a Coffee](www.buymeacoffee.com/drfaisalaslam)
Переглядів: 96
Відео
Quantum Computing: How to Construct a Quantum Fourier Transform (QFT) Circuit
Переглядів 1,2 тис.Місяць тому
Welcome to the third video in our *Quantum Fourier Transform (QFT) Series*! In this detailed tutorial, we build the quantum circuit for the Fourier transform step-by-step. The QFT is foundational to many quantum algorithms, including Shor’s algorithm for factoring large numbers. In this video, you’ll learn: - The key notations and concepts essential for understanding QFT. - How to design the QF...
Quantum Computing: A Step-by-Step Example of Grover's Algorithm
Переглядів 552Місяць тому
In this third video of our series, we solve a complete example step-by-step, uncovering how Grover’s Algorithm efficiently searches for a specific input in a small database. Learn how to construct the quantum circuit, apply Hadamard gates, perform oracle and diffusion operations, and calculate the necessary Grover rotations. Watch as we break down each stage of the circuit, visualize the transf...
Compilers: Key Loop Optimization Techniques Explained with Examples
Переглядів 142Місяць тому
In this video, we describe loop optimizations in compiler design, focusing on five key techniques to enhance program efficiency and performance. With simple C examples, we explore how these optimizations work and how they can significantly improve code execution. The techniques explained include Loop unrolling, loop invariant code motion, loop fusion, loop fission, and loop unswitching. You can...
Compilers: Live Variable Analysis Explained Step-by-Step
Переглядів 227Місяць тому
In this video, we dive deep into *Live Variable Analysis*, a critical concept in compiler optimization. By the end, you will gain a complete understanding of live variables, how they are identified, and why they are important for optimizing programs. We'll explain step-by-step how to perform live variable analysis using GEN and KILL sets, compute IN and OUT sets for basic blocks, and finally us...
Compilers: Learn Recursive Descent Parsing with Code Walkthrough
Переглядів 221Місяць тому
In this video, we dive into Recursive Descent Parsing , a fundamental top-down parsing technique used in compiler construction. Learn how this method processes grammars, handles non-terminals, and works with LL(1) grammars using recursive functions. We also walk you through the implementation of recursive descent parsing with a step-by-step explanation of the code and an example grammar. You ca...
Compilers: Creating a Parse Tree Using LL(1) Parsing Table
Переглядів 3983 місяці тому
In this video, we learn the construction of a parse tree and generating a leftmost derivation for a given input string using the LL(1) parsing table created in the previous video. We'll walk through the entire parsing process, breaking it down into easy-to-follow steps. Here’s what you’ll learn: - How to use an input buffer and stack to guide the parsing process. - The four main actions in LL(1...
Compilers: How to Create LL(1) Parsing Table? Step-by-Step Explanation
Переглядів 4053 місяці тому
In this video, we explore the LL(1) parsing algorithm, a key method used in compiler design for syntax analysis. You’ll learn: - What LL(1) parsing means - The difference between top-down and bottom-up parsing - How to construct an LL(1) parsing table using FIRST and FOLLOW sets - How to handle both epsilon (empty) and non-epsilon productions If you’re new to FIRST and FOLLOW sets, make sure to...
Lattice Cryptography: What is a Fundamental Region and How to Compute It
Переглядів 3034 місяці тому
In this video, we explore the essential concept of a fundamental region in lattice theory, a key building block for understanding both the geometric and algebraic properties of lattices. We begin by defining what a fundamental region is and why it matters, using simple examples to make the concept clear. From one-dimensional integer lattices to two-dimensional grids, we show how fundamental reg...
Compilers: Regular Expression To NFA Conversion
Переглядів 1794 місяці тому
In this video, we explain the algorithm for converting a regular expression into a non-deterministic finite automaton (NFA). We demonstrate how to construct an NFA for the empty language, a singleton, the union and concatenation of two NFAs, and the Kleene star operation. Following this, we work through an example where we convert a regular expression to an NFA, explaining each step along the w...
Compilers: What is a Regular Language? Definitions, Explanation, and Examples
Переглядів 1644 місяці тому
In this video, I define, and explain with examples: Alphabet, String, Formal language, and Regular language. Then, we do example of union, concatenation, and kleene star of different regular languages to produce new languages. #compiler #finiteautomata Support This Channel: I would greatly appreciate it if you could treat me to a cup of coffee or show support for my channel through any other me...
Compiler Construction: Creating Syntax Analyzer Using Bison
Переглядів 3484 місяці тому
In this video we learn Bison while creating syntax analyzer for Simple Simple C. From defining grammar rules to managing ambiguities and generating parse trees, this video covers all aspects necessary for building a compiler's syntax analyzer phase. While writing syntax directed translation, will learn about many Bison's powerful features and its many directives. Whether you're a beginner or an...
Lattice Cryptography: What Are Lattices? Definition, Explanation, and Examples.
Переглядів 1434 місяці тому
In this video, we break down the fascinating concept of *lattices*. Lattices are mathematical structures that form a repeating pattern of points in space, and they play a crucial role in the future of secure communication. We’ll start by explaining what a lattice is using simple examples from both two-dimensional and three-dimensional spaces, like the honeycomb lattice and diamond lattice. We’l...
Data Structures: What is an Abstract Data Type (ADT)?
Переглядів 1835 місяців тому
This video defines an Abstract Data Type (ADT), provides its key advantages, and give examples of key abstract data types. #datastructures #stack #queues Support This Channel: I would greatly appreciate it if you could treat me to a cup of coffee or show support for my channel through any other means. You can do so by visiting: - [Patreon](patreon.com/advancedmath) - [Buy Me a Coffee](www.buyme...
Compilers: Why Should You Learn About Compilers?
Переглядів 6015 місяців тому
This is the first video in my compiler course, where I tackle common questions like "Why should I learn about compilers?", "Aren’t compilers a solved problem?", and "Are there really job opportunities for compiler engineers?" I share five key benefits of studying compilers and offer several motivating examples to help you see their value. I hope you enjoy the course! #compiler_design #compiler ...
Compilers: Finding FOLLOW Sets of a Context Free Grammar
Переглядів 2905 місяців тому
Compilers: Finding FOLLOW Sets of a Context Free Grammar
Quantum Computing: What is Phase? Understanding Global and Relative Phases
Переглядів 2,4 тис.6 місяців тому
Quantum Computing: What is Phase? Understanding Global and Relative Phases
Quantum Computing: Bernstein-Vazirani Algorithm
Переглядів 1,5 тис.6 місяців тому
Quantum Computing: Bernstein-Vazirani Algorithm
Compiler Construction: Top 10 LLVM Classes and Their Uses: A Step-by-Step Example
Переглядів 1768 місяців тому
Compiler Construction: Top 10 LLVM Classes and Their Uses: A Step-by-Step Example
Bison: Creating Syntax Analyzer of Simple Simple C
Переглядів 4168 місяців тому
Bison: Creating Syntax Analyzer of Simple Simple C
Compiler Construction: Creating Complete Lexical Analyzer Using Flex
Переглядів 9758 місяців тому
Compiler Construction: Creating Complete Lexical Analyzer Using Flex
Compiler Construction: What is LLVM? Benefits of Using LLVM for Compiler Creation
Переглядів 2149 місяців тому
Compiler Construction: What is LLVM? Benefits of Using LLVM for Compiler Creation
Compilers: Example of Creating LR(1) Automaton & Canonical LR (CLR) Parsing Table
Переглядів 2,6 тис.10 місяців тому
Compilers: Example of Creating LR(1) Automaton & Canonical LR (CLR) Parsing Table
Compilers: Look-Ahead LR (LALR) Parsing Table Creation
Переглядів 92010 місяців тому
Compilers: Look-Ahead LR (LALR) Parsing Table Creation
Compilers: Finding First Sets of a Context Free Grammar
Переглядів 42310 місяців тому
Compilers: Finding First Sets of a Context Free Grammar
Quantum Computing: Fast Hadamard Gate Computing Using a Tabular Method
Переглядів 1,9 тис.10 місяців тому
Quantum Computing: Fast Hadamard Gate Computing Using a Tabular Method
Compilers: Creating SLR(1) and LR(0) Parsing Tables with Conflict Resolution
Переглядів 1,7 тис.10 місяців тому
Compilers: Creating SLR(1) and LR(0) Parsing Tables with Conflict Resolution
Compilers: The Parsing Algorithm of LR Parsers (SLR, CLR, and LALR) Explained
Переглядів 1 тис.10 місяців тому
Compilers: The Parsing Algorithm of LR Parsers (SLR, CLR, and LALR) Explained
Example of LR(0) Automaton: Step-by-Step Explanation
Переглядів 1,3 тис.10 місяців тому
Example of LR(0) Automaton: Step-by-Step Explanation
Closure and GOTO Rules of LR(0) Automaton
Переглядів 48410 місяців тому
Closure and GOTO Rules of LR(0) Automaton
Thank you sir. I am currently learning Elliptic Curve to understand Zero Knowledge Proofs. Your videos have been of great help.
I am also very interested in ZKP. It is such a wonderful and beautiful area of research.
explanation very fantastic
Thank you.
I really like this video. Could you also explain how can we calculate the time complexity of Grover's Algorithm?
There are three videos about Grover algorithm. At the end of first video, we have time complexity calculation. Can you please search those video using Grover as keyword?
So helpful!
amazing tutorial! Thank you !!
Sir, I passed my Compiler class only because of your videos. Should mention that this class is not my favorite subject at all, I didn't attend much of the classes during the semester, did not do any homework, no class activity nothing. I only watched your videos and also your tutorials on Flex, Bison and LLVM and was able to pass the exam and deliver hands-on exercises which helped me pass. Thank you so much and god bless you ❤
Thank you.
So useful sir
Thank you.
Sir, your videos are very clear and easy to understand. Could you please post a video on Shor's algorithm? That would be very useful to undergraduate students like us. Thank you sir for your support ♥
There is already a few videos related to Shor's algorithm.
Thank you sir.I am currently working with my research project " Grover's algorithm on cyclic graphs".Your videos very helpful to me to understand the basics❤
welcome.
Sir... What's U f gate, where, in which video you have introduced and explained? Pl. Let me know
Check this one: ua-cam.com/video/3TpOO63qLYM/v-deo.html
Great job sir
Thank you.
thank you so much for such a great videos sir! I was having such a difficulty understanding this concept, and no matter what resource i referred i was just left with more confusion. Now i finally feel like I've understood it. this has become my go to channel for whenever i have a hard time understanding some advanced concept
thank you you are a genius ❤
very nice continueee
THANK YOU!!!
Wow you need to wait until 9:28 to see why ambiguous grammars are problematic. Very clear!
This video was missing in the Quantum Computing playlist. Could you add this in it please?
Added. Thank you.
Thank you so much!
Welcome.
11:22 , Sir g ,,,, when u rewrite the Sum formula u put wrong value of meu (s),
Good one. Thanks from Pakistan :)
thank you sir
sir, thank you so much for these videos, these are golden
Thank you for your appreciation.
🙏🙏🙏
Please don't use colour chock it's not clearly visible
Noted.
Very well explained , thank you Sir !
Yahoo
Great video , deserves millions of views , keep it up sir
thank u sir
Sir we want to see you live on the blackboard again really appreciate the personal touch
1st Comment 👉🏻👈🏻👀
Clear and to the point 👌🙏
Starting this series to prepare for my exam. So far the best compiler theory on YT. Will see how it goes to the end of the series.
All the best for your exam!
@@AdvancedMath Thank you sir!
thanks :)
Sir, I do not understand how we can do the last optimization because the value of a is going to be different in both computations. Suppose at start a=2 and b=5 a=2+5=7 f=7+5=12 But if we change to f=a a=2+5=7 f=7 Do let me know if I am missing anything sir
16:32 Could you please clarify, that in the second iteration of live variable analysis, while computation of node 3 the OUT[B] should be IN[2], which will be the value from iteration 1 i.e., {i,j,k,p} instead of {p,i}?
you are correct. sir even wrote OUT [3] = IN [2] on the black board, might be a typo.
Yes that is a typo. Sorry about that. Good catch.
Thank you very much for this excellent explanation! It was clear and easy to follow. I have a small suggestion - it might be helpful to include the definitions of the closure function and the GOTO function for added clarity. Regardless, I truly appreciate the effort you put into this content. Thanks again!
Thanks for liking the video. There is a separate video about GOTO and Closure rules. ua-cam.com/video/g1G7p9EPDYo/v-deo.htmlsi=-yMYasQ0Uvtpwuvy
thanks :)
3?
thanks sir :)
Sir, I had watched your qc Playlist for past 2 days and learnt a lot. I'm writing my comment today and tomm is my qc sem exam. Just a few days before, I had failed the qc formative assessment and my sir called me for a quiz so that I can pass it, unfortunately I couldn't answer even the basic questions. But, now, I seem confident, I have a love for qc now and it's all because of you. I never usually comment on yt videos but I commented here coz you have actually helped me a lot. I hope that I'll be able to pass tomm's exam and show my sir that I am also capable and let this be a reply to all the humiliation he gave me. I take it all in a positive note. Thank you once again.
Hey man, do you need to know "classical computing" in order to understand the lectures? And if you do, where can a learn it?
Knowing about classical computing will be helpful but not necessary. Linear algebra and probability are good to have.
Thank you @@AdvancedMath
ANLAT HOCAAA ELK336E vizesi var
GREAT EXLPANATION THANK YOU SO MUCH
Thank you! Great explanation
overall good method of teaching . Node tree ki samajh nahi ay just .....
Best explanation on the internet
Is it possible to communicate with you through mail Sir?
Sir, where is the y input at the Rf circuit at 5.49 in this video
i hate this video couldnt even understand a single line worstttttttt