Practice Questions

Duration: 2 min

This video lesson is available to enrolled students.

Return to /learn/BIHAR-POLYTECHNIC-LECTURER-COMPUTER-SCIENCE/paper-2-compiler-design/grammar-cfg/derivation-recursion/asset-practice-questions after enrolling

Inside: a video lesson and guided study material.

Module outline

  1. Discrete Mathematics: Permutation, Combination and Probability / क्रमचय, संचय एवं प्रायिकता, Set Theory, Relations, Functions, Propositional and Predicate Logic, Graph Theory, Group Theory
  2. Digital Logic: Digital Systems & Boolean Basics, Boolean Expression, Boolean Minimization, Logic Gates & Hardware, Combinational Circuit, Sequential Circuits, Number System, Number Representation, Floating Point Rep
  3. Computer Organization and Architecture: Basics of COA, Programming the Basic Computer, Cache Memory Organization, Input Output Organisation, Instr Formats & Modes, Register Transfer and Microoperations, Control Unit Design, Pipelining, Multiprocessors
  4. Programming: Language Design, C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling, OOPS with C++
  5. Data Structures: Introduction to DS, Array, Linked List, Stack, Queue, Tree, Graphs, Hashing
  6. Algorithms: Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos, Advanced Algorithms
  7. Theory of Computation: Grammar, Regular Language Properties, Moore & Mealy Machines, Turing Machines
  8. Compiler Design: Intro to Compilers, Lexical Analysis, Grammar & CFG, Syntax Analysis: Top-Down, Syntax Analysis: Bottom-Up, Semantic Analysis & SDT, Intermediate Code Gen, Code Optimization, Run Time Environment, Introduction to TOC, Deterministic FA (DFA), Non-Deterministic FA, Regular Expressions, Pushdown Automata & CFG, Complexity Theory
  9. Operating Systems: Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Threads & Process Creation, Deadlock, Memory Management, Virtual Memory, Disc Scheduling, File Management, Unix OS, Linux OS, Security
  10. Database Management Systems: Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, SQL, Relational Calculus, Transaction Management, Concurrency Control, ORDBMS, NoSQL
  11. Computer Networks: Introduction to CN, Data Communication, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP, Application Layer, Hardware basics, Network Security
AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

This educational video provides a step-by-step tutorial on eliminating left recursion from Context-Free Grammars (CFGs), a crucial step in compiler design and parsing theory. The instructor begins with the grammar `S -> SSS / 0`. He identifies `S -> SSS` as the left-recursive production and `S -> 0` as the non-recursive alternative. By applying the standard algorithm, he introduces a new non-terminal `A'` to handle the recursion. The original start symbol `S` is rewritten as `S -> 0A'`, while the new non-terminal `A'` is defined by the recursive part `SS` followed by `A'`, plus the epsilon production: `A' -> SSA' / epsilon`.

Next, the instructor moves to a slightly more complex example: `S -> S0S1 / 0 / 1`. He underlines the recursive `S` in `S0S1` to identify `alpha` as `0S1`. The non-recursive parts `0` and `1` become `beta`. The transformation yields `S -> 0S' / 1S'` and `S' -> 0S1S' / epsilon`.

Finally, the lecture addresses a grammar with multiple non-terminals: `S -> A a B`, `A -> A a / b B / a`, and `B -> b B / c`. The focus shifts to eliminating left recursion from `A`. The instructor isolates the recursive production `A a` (where `alpha` is `a`) and the non-recursive productions `b B` and `a` (where `beta` is `b B` and `a`). He writes the new rules: `A -> b B A' / a A'` and `A' -> a A' / epsilon`.

Chapters

  1. 0:00 – 2:00 00:00-02:00

    The video opens with the instructor analyzing the grammar `S -> SSS / 0`. He underlines the first `S` in `SSS` to mark the recursive part, labeling it `A`. He then constructs the transformed rules `S -> 0A'` and `A' -> SSA' / epsilon`. Moving to the next example, `S -> S0S1 / 0 / 1`, he underlines the recursive `S` and writes `S -> 0S' / 1S'` and `S' -> 0S1S' / epsilon`. He then transitions to a multi-rule grammar, underlining `A` in `A -> A a / b B / a` to identify the recursive component `a` and the non-recursive components `b B` and `a`.

  2. 2:00 – 2:20 02:00-02:20

    The instructor finalizes the left-recursion elimination for the non-terminal `A`. He formulates the new production rules `A -> b B A' / a A'` and `A' -> a A' / epsilon` on the whiteboard. The original grammar `S -> A a B`, `A -> A a / b B / a`, and `B -> b B / c` remains visible as he concludes this segment, setting the stage for the next step involving non-terminal `B`.

The lecture systematically applies the left-recursion elimination algorithm to three distinct grammars. It progresses from simple unary recursion to mixed recursion and finally to a multi-non-terminal grammar, illustrating how to isolate recursive and non-recursive productions to construct equivalent right-recursive forms.

Loading lesson…