Open In App
Related Articles

Right and Left linear Regular Grammars

Improve Article
Improve
Save Article
Save
Like Article
Like

Regular grammar is a type of grammar that describes a regular language. A regular grammar is a mathematical object, G, which consists of four components, G = (N, E, P, S), where 

  • N: non-empty, finite set of non-terminal symbols,
  • E: a finite set of terminal symbols, or alphabet, symbols,
  • P: a set of grammar rules, each of one having one of the forms
    • A ⇢ aB
    • A⇢ a
    • A ⇢∈, Here ∈=empty string, A, B ∈ N, a ∈ ∑
  • S ∈ N is the start symbol.

This grammar can be of two forms:

  1. Right Linear Regular Grammar
  2. Left Linear Regular Grammar

Right Linear Regular Grammar

In this type of regular grammar, all the non-terminals on the right-hand side exist at the rightmost place, i.e; right ends.

Examples :

A ⇢ a, A ⇢ aB, A ⇢ ∈
where,
A and B are non-terminals,
a is terminal, and
∈ is empty string
S ⇢ 00B | 11S
B ⇢ 0B | 1B | 0 | 1
where,
S and B are non-terminals, and
0 and 1 are terminals

Left Linear Regular Grammar

In this type of regular grammar, all the non-terminals on the left-hand side exist at the leftmost place, i.e; left ends.

Examples :

A ⇢ a, A ⇢ Ba, A ⇢ ∈
where,
A and B are non-terminals,
a is terminal, and
∈ is empty string
S ⇢ B00 | S11
B ⇢ B0 | B1 | 0 | 1
where
S and B are non-terminals, and
0 and 1 are terminals

Left linear to Right Linear Regular Grammar

In this type of conversion, we have to shift all the left-handed non-terminals to right as shown in example given below:

               Left linear                       Right linear 
                      
                 A -> Ba                           A -> abaB     
                 B -> ab                           B -> epsilon   
                                        OR
                                            A -> abB
                                            B -> a
                                                                                                

So, this can be done to give multiple answers. Example explained above have multiple answers other than the given once.

Right linear to Left Linear Regular Grammar

In this type of conversion, we have to shift all the right-handed non-terminals to left as shown in example given below:

               Right linear                      Left linear
                     
                 A -> aB                             A -> Baba  
                 B -> ab                             B -> epsilon  
                                                 OR
                                                     A -> Bab
                                                     B -> a

 So, this can be done to give multiple answers. Example explained above have multiple answers other than the given once.

Level Up Your GATE Prep!
Embark on a transformative journey towards GATE success by choosing Data Science & AI as your second paper choice with our specialized course. If you find yourself lost in the vast landscape of the GATE syllabus, our program is the compass you need.

Last Updated : 03 Nov, 2022
Like Article
Save Article
Similar Reads