# Right and Left linear Regular Grammars

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.