# Explain the different operations on Regular language in TOC.

Data Structure AlgorithmsComputer ScienceComputers

A language is a set of strings from some alphabet (finite or infinite). In other words, any subset L of E* is a language in TOC.

Some special languages are as follows −

• {} The empty set/language, containing no string.
• {s} A language containing one string, the empty string.

## Examples

• E = {0, 1}

L = {x | x is in E* and x contains an even number of 0’s}

• E = {0, 1, 2,., 9, .}

L = {x | x is in E* and x forms a finite length real number}

= {0, 1.5, 9.326,.}

• E = {a, b, c,., z, A, B,., Z}

L = {x | x is in E* and x is a Pascal reserved word}

= {BEGIN, END, IF,...}

• E = {Pascal reserved words} U { (, ), ., :, ;,...} U {Legal Pascal identifiers}

L = {x | x is in E* and x is a syntactically correct Pascal program}

• E = {English words}

L = {x | x is in E* and x is a syntactically correct English sentence}

## Operations on Regular Languages

Some of the operations on regular languages are as follows −

• Union
• Intersection
• Difference
• Concatenation
• kleen * closure

Let us understand these operations one by one.

### Union

If Ll and If L2 are two regular languages, their union Ll u L2 will also be regular.

For example, Ll = {an I n > O} and L2 = {bn I n > O}

L3 = Ll U L2 = {an U bn I n > O} is also regular.

### Intersection

If Ll and If L2 are two regular languages, their intersection Ll n L2 will also be regular.

For example,

Ll= {am bn I n > 0 and m > O} and

L2= {am bn U bn am I n > 0 and m > O}

L3 = Ll n L2 = {am bn I n > 0 and m > O} is also regular.

### Concatenation

If Ll and If L2 are two regular languages, their concatenation L1.L2 will also be regular.

For example,

Ll = {an I n > 0} and L2 = {bn I n > O}

L3 = L1.L2 = {am . bn I m > 0 and n > O} is also regular.

### Kleene Closure

If Ll is a regular language, its Kleene closure Ll* will also be regular.

For example, Ll = (a U b ), Ll* = (a U b)*

### Complement

If L(G) is a regular language, its complement L'(G) will also be regular. Complement of a language can be found by subtracting strings which are in L(G) from all possible strings.

For example,

L(G) = {an I n > 3}

L'(G) = {an I n <= 3}

Note: Two regular expressions are equivalent, if languages generated by them are the same. For example, (a+b*)* and (a+b)* generate the same language. Every string which is generated by (a+b*)* is also generated by (a+b)* and vice versa .

### Example 1

Write the regular expression for the language accepting all combinations of a's, over the set l: = {a}

All combinations of a's mean a may be zero, single, double and so on. If a is appearing zero times, that means a null string. That is, we expect the set of {E, a, aa, aaa, ....}.

So we give a regular expression for this as follows −

R = a*

That is Kleen closure of a.