Open In App

Chomsky Hierarchy in Theory of Computation

Last Updated : 31 Oct, 2023
Like Article

According to Chomsky hierarchy, grammar is divided into 4 types as follows: 

  1. Type 0 is known as unrestricted grammar.
  2. Type 1 is known as context-sensitive grammar.
  3. Type 2 is known as a context-free grammar.
  4. Type 3 Regular Grammar.

Type 0: Unrestricted Grammar: 

Type-0 grammars include all formal grammar. Type 0 grammar languages are recognized by turing machine. These languages are also known as the Recursively Enumerable languages. 

Grammar Production in the form of   \alpha \to \beta          where 

\alpha is ( V + T)* V ( V + T)* 
V : Variables 
T : Terminals. 
\beta is ( V + T )*. 

In type 0 there must be at least one variable on the Left side of production. 

For example: 

Sab --> ba 
A --> S

Here, Variables are S, A, and Terminals a, b. 

Type 1: Context-Sensitive Grammar

Type-1 grammars generate context-sensitive languages. The language generated by the grammar is recognized by the Linear Bound Automata 

In Type 1 

  • First of all Type 1 grammar should be Type 0. 
  • Grammar Production in the form of 
\alpha \to \beta
|\alpha| <= |\beta|

That is the count of symbol in \alpha          is less than or equal to \beta

Also ?  ? (V + T)+

i.e. ? can not be ?
For Example:

S --> AB
AB --> abc 
B --> b  

Type 2: Context-Free Grammar: Type-2 grammars generate context-free languages. The language generated by the grammar is recognized by a Pushdown automata.  In Type 2:

  • First of all, it should be Type 1. 
  • The left-hand side of production can have only one variable and there is no restriction on \beta

|\alpha| = 1.  

For example:

S --> AB 
A --> a 
B --> b 

Type 3: Regular Grammar: Type-3 grammars generate regular languages. These languages are exactly all languages that can be accepted by a finite-state automaton. Type 3 is the most restricted form of grammar. 

Type 3 should be in the given form only : 

V --> VT / T          (left-regular grammar)
V --> TV /T (right-regular grammar)

For example:

S --> a

The above form is called strictly regular grammar.

There is another form of regular grammar called extended regular grammar. In this form:

V --> VT* / T*.        (extended left-regular grammar)
V --> T*V /T*  (extended right-regular grammar)

For example : 

S --> ab. 

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads