Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Formal Language and Automata: CFG, PDA and TM
Rating: 4.9 out of 5(3 ratings)
61 students

Formal Language and Automata: CFG, PDA and TM

Theory of Computation
Created byAnita R
Last updated 6/2025
English
English [Auto],

What you'll learn

  • Context free grammars and normalisation
  • Push down machine
  • PDA's equivalence with CFG
  • Turing Machine

Course content

3 sections33 lectures6h 26m total length
  • Context Free Grammar7:47

    Define a context free grammar G = (V, T, P, S) with V, T, and P. Show palindrome CFG with P → ε, 0, 1, 0P0, 1P1.

  • Construction of CFG15:28

    Construct context-free grammars for languages such as any number of a's, any number of a's and b's, a^n b^n, and palindromes w c w^R.

  • Types of Grammar7:17

    Explore Chomsky hierarchy types, including grammar with right and left rules, from context free to unrestricted grammar, and their models: finite automata, pushdown automata, linear bounded automata, and Turing machines.

  • Derivations11:05

    Demonstrate derivations in a context-free grammar, perform leftmost and rightmost derivations from the start symbol, and use derivation symbols and star notation to derive strings and CFLs.

  • Parse Tree3:45

    Parse trees show how derivations unfold, including an example deriving a + a * a and defining the yield as the left-to-right concatenation of leaves.

  • Example for Derivations and Parse Tree7:48

    Explore leftmost and rightmost derivations of the string 00110110 from a context-free grammar, and construct the corresponding parse tree.

  • Ambiguity3:53

    Investigate how a context-free grammar is ambiguous when a string in T* has multiple leftmost or rightmost derivations or two distinct parse trees.

  • Ambiguity: Another Example5:51

    Demonstrates how an ambiguous grammar can be identified by constructing two distinct parse trees for the same input string, using the start symbol and multiple productions.

  • Chomsky Normal Form: Simplifications20:56

    Explore Chomsky normal form (CNF) and the three simplifications—eliminate epsilon productions, eliminate unit productions, and remove useless symbols—to convert a CFG, using nullable symbol analysis.

  • Chomsky Normal Form17:03

    Learn to convert a context-free grammar to Chomsky normal form by removing epsilon, unit, and useless productions, then introduce terminal variables and break long productions into binaries with cascade symbols.

  • CNF: Another Example11:34

    Converts a cfg to cnf by detailing elimination of epsilon production, elimination of unit productions, elimination of useless symbols, introducing terminal variables, and replacing long productions with two-symbol bodies.

  • Greibach Normal Form16:27

    this lecture explains converting a cfg to Greibach normal form, starting from cnf, renaming variables to a1, a2, etc., and applying left recursion and epsilon elimination.

  • Context Free Grammar

Requirements

  • Basic Mathematical Knowledge

Description

Formal Language and Automata: CFG, PDA and TM is a fundamental course in theoretical computer science that provides a deep exploration of the mathematical principles governing computation. Designed for third-year Engineering students, the course introduces formal language theory and its role in defining computational boundaries and capabilities.

The course begins with an in-depth study of context-free languages (CFLs) and recursively enumerable languages (RELs). Students will learn to represent these languages using context-free grammars (CFGs), pushdown automata (PDA), and Turing machines (TM). The Chomsky hierarchy is introduced to classify different types of languages and grammars, providing insights into their expressive power. Key topics include the pumping lemma for CFLs, ambiguity in grammars, and normal forms such as Chomsky Normal Form (CNF) and Greibach Normal Form (GNF).

A major focus is placed on the practical applications of these theoretical models in areas such as compiler design, syntax analysis, pattern recognition, and software verification. Advanced topics include undecidability, computational complexity theory, and the Halting Problem, which highlight the fundamental limits of computation.

By the end of the course, students will have a comprehensive understanding of computational models, enabling them to analyze system constraints, optimize algorithms, and explore advanced domains in artificial intelligence, cryptography, and formal methods in Software Engineering.

Who this course is for:

  • Computer Science and Engineering Students