
In this lecture, you will be able to learn, what this course covers? What kind of material will be studied? Actually, this lecture is the introduction to the whole course.
In this lecture, students will get idea about the general introduction of COMPILER.
Define languages as sets of strings over alphabets and symbols, and explore how regular expressions specify string sets and define regular languages.
Explore how a lexical analyzer tokenizes source code into tokens such as keywords, identifiers, numbers, and symbols using regular expressions and state-driven scanning.
In this lecture, students will learn an example of lexical analyzer.
In this lecture, you will learn about the Flex. Flex is a scanner writing tool. It is freely available on internet. The link address's is given in the video lecture.
Flex is a fast lexical analyzer generator. You can give any input file with '.l' extension to flex and generate output file from flex.
Explore error handling in a lexical analyzer for compiler construction, including generating error tokens for invalid input, detecting unclosed comments and overflow errors, and reporting these to the parser.
In this lecture, you will learn Language and grammar
In this lecture, you will learn what the syntax and semantics of language mean?
In this lecture, you will get knowledge about context free grammar in a more easy and descriptive way.
In this lecture, you will learn what the Chomsky normal form? How we can converts context free grammar into Chomsky normal form .
In this lecture, you will be able to learn the very common form of context free grammar, the Backus naur form (BNF)
Explore how a parser verifies token streams against context-free grammars to ensure syntactic correctness in programs, contrasting with scanners and regular expressions.
Explore top-down parsing and backtracking in compilers, including brute-force strategies and production rule application. Learn how terminals and nonterminals drive input matching and how backtracking selects correct rules.
Explore ll(1) parsing in a top-down framework using one lookahead token, a pos table, a parse table and stack, with productions guiding a left-to-right derivation.
Parse table is one of the important data structure in LL(1) parser. Students often fell difficulty in creating the parse table. Therefore, I have given here a link to YouTube video in this lecture so that you can learn how to create a parse table.
Explore bottom-up parsers by starting with the full input of terminals, reducing substrings to nonterminals via production rules. Derive the start symbol S through reductions.
Learn how a shift-reduce parser works as a bottom-up technique using a stack and input stream with a parsing table. Explore shift/reduce and reduce/reduce conflicts.
In this lecture, you will get a general introduction of the LR parser.
In this lecture you will learn how to create parsing table for LR(0) parser and you will learn the 6 steps for solving LR (0) items
This lecture is the introduction to semantic analysis.
This lecture will explain the symbol table in more detail.
Explore how attribute grammar attaches semantic rules to context-free grammar to define syntax and semantics, and how type checking verifies operator applications and assignments in the abstract syntax tree.
In this lecture, i present a mini project. You will learn that how compiler translate a very simple sentence into assembly language code.
Welcome to the course of Compiler Construction from scratch!!!!
Mastering the concepts of Compiler Construction is very important to get started with Computer Science because Compiler is a program which translate higher level language code like ( int a = 10 +10) to assembly language code or direct to machine code. Compiler do this job of converting higher level language code to assembly code in many phases. There are many books and online courses available in market on compiler construction and design, but as my personnel experience as a student of computer science, many of them are too lengthy or short, many of these books are covering only Theoretical Aspect of the course, and many of them only full with lots of headache code. Therefore, I often felt difficulties in choosing the right book or online course for learning the compiler construction course. Therefore, I decided to prepare an online video course for the students of computer science to cover the concept of compiler construction and compiler design in a very easy and descriptive way. I prepare this course only for those students who fell always difficulties in learning this subject and for those who wish to learn compiler design for the first time.
In this course, every concept of Compiler Construction and Compiler Design is taught in an easy way. you will be able to go through all phase of Compiler design in an easy and understandable way. You will learn all the phases of compiler:
1. Lexical analysis phase
2. Syntax analysis phase
3. Semantic analysis phase
4. Code generation phase
So, come and join me if you are really want to learn compiler construction course, I assure you that you will have the BEST LEARNING EXPERIENCE of not just Compiler Construction but also the core of Higher Level Languages and assembly level language in a different dimension.