Non-Deterministic Grammar

Duration: 5 min

This video lesson is available to enrolled students.

Enroll to watch — ISRO Scientist/Engineer 'SC'

AI Summary

An AI-generated summary of this video lecture.

The lecture introduces the concept of Non-Deterministic Grammars, specifically focusing on grammars that contain common prefixes in their production rules. The instructor explains that such grammars are problematic because they require backtracking during parsing, which is inefficient. The core of the lesson is the introduction of Left Factoring as a method to eliminate these common prefixes, thereby converting a non-deterministic grammar into a deterministic one.

Chapters

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

    The video begins with a slide titled Non-Deterministic Grammar. The text states, The grammar with common prefix is known as Non-Deterministic Grammar. An example production rule is displayed: A -> αβ1 / αβ2. The instructor emphasizes the term common prefix by underlining it in red. He explains that when two productions for a non-terminal A start with the same symbol sequence α, the parser cannot immediately decide which production to use. To illustrate this, he draws the symbol α followed by β on the right side of the screen. He circles the terms αβ1 and αβ2 to highlight the shared prefix α. This visual aid helps students understand that the ambiguity arises from the identical starting symbols.

  2. 2:00 4:53 02:00-04:53

    The slide content changes to discuss the implications of common prefixes. The text reads, The grammar with common prefixes requires a lot of Back-tracking, back-tracking is very time consuming. It further states, To avoid the back-tracking, we need to remove the common prefixes, i.e. we need to convert the non-deterministic Grammar into Deterministic. The instructor then demonstrates the solution by writing new rules on the slide. He introduces a new non-terminal B and rewrites the rules as A -> αB and B -> β1 / β2. He circles these new rules and writes Left factoring underneath. Finally, a definition slide appears: Left Factoring: - The process of conversion of Non-Deterministic grammar into deterministic grammar is known as Left-Factoring. It shows the general transformation pattern.

The lecture logically progresses from identifying a problem common prefixes causing non-determinism to providing a specific algorithmic solution Left Factoring. By extracting the common prefix into a new production rule, the grammar becomes deterministic, allowing for more efficient parsing without backtracking.