Lesson 01
Lesson 01
1
Text and Reference Material
2
Grading
There will be One term exam and one
final exam. The final exam will be
comprehensive. These will contribute the
following percentages to the final grade:
5
Alphabets
Definition:
A finite non-empty set of symbols (letters),
is called an alphabet. It is denoted by Σ
( Greek letter sigma).
Example:
Σ={a,b}
Σ={0,1} //important as this is the
language //which the computer
understands.
Σ={i,j,k}
6
NOTE:
7
Strings
Definition:
Concatenation of finite symbols from the
alphabet is called a string.
String is always written from left to right.
Strings never have infinite letters.
Example:
If Σ= {a,b} then
a, abab, aaabb, ababababababababab
8
NOTE:
Definition:
Words are strings belonging to
some language.
Example:
If Σ= {x} then a language L can
be defined as
L={xn : n=1,2,3,…..} or L={x,xx,xxx,
….}
Here x,xx,… are the words of L
10
NOTE:
11
Valid/In-valid alphabets
12
This string can be tokenized in two
different ways
(Ba), (bab), (B)
(B), (abab), (B)
Which shows that the second group
cannot be identified as a string, defined
over
Σ = {a, b}.
13
As when this string is scanned by the
compiler (Lexical Analyzer), first
symbol B is identified as a letter
belonging to Σ, while for the second
letter the lexical analyzer would not be
able to identify, so while defining an
alphabet it should be kept in mind that
ambiguity should not be created.
14
Remarks:
16
Length of Strings
Definition:
The length of string s, denoted by |s|, is
the number of letters in the string.
Example:
Σ={a,b}
s=ababa
|s|=5
17
Example:
Σ= {B, aB, bab, d}
s=BaBbabd
Tokenizing=(B), (aB), (bab), (d)
|s|=4
18
Reverse of a String
Definition:
The reverse of a string s denoted by
Rev(s) or sr, is obtained by writing the
letters of s in reverse order.
Example:
If s=abc is a string defined over
Σ={a,b,c}
then Rev(s) or sr = cba
19
Example:
Σ= {B, aB, bab, d}
s=BaBbabBd
Rev(s)=dBbabBaB
20
Defining Languages
21
Examples
Example:
The language L of strings of odd length,
defined over Σ={a}, can be written as
L={a, aaa, aaaaa,…..}
Example:
The language L of strings that does not
start with a, defined over Σ={a,b,c}, can
be written as
L={b, c, ba, bb, bc, ca, cb, cc, …}
22
Example:
The language L of strings of length 2,
defined over Σ={0,1,2}, can be written as
L={00, 01, 02,10, 11,12,20,21,22}
Example:
The language L of strings ending in 0,
defined over Σ ={0,1}, can be written as
L={0,00,10,000,010,100,110,…}
23
Example:
The language EQUAL, of strings with number
of a’s equal to number of b’s, defined over
Σ={a,b}, can be written as
{Λ ,ab,aabb,abab,baba,abba,…}
Example:
The language EVEN-EVEN, of strings with
even number of a’s and even number of b’s,
defined over Σ={a,b}, can be written as
{Λ, aa, bb, aaaa,aabb,abab, abba, baab,
baba, bbaa, bbbb,…}
24
Example:
The language INTEGER, of strings defined over
Σ={-,0,1,2,3,4,5,6,7,8,9}, can be written as
INTEGER = {…,-2,-1,0,1,2,…}
Example:
The language EVEN, of stings defined over
Σ={-,0,1,2,3,4,5,6,7,8,9}, can be written as
EVEN = { …,-4,-2,0,2,4,…}
25
Example:
The language {anbn }, of strings defined over
Σ={a,b}, as
{an bn : n=1,2,3,…}, can be written as
{ab, aabb, aaabbb,aaaabbbb,…}
Example:
The language {anbnan }, of strings defined over
Σ={a,b}, as
{an bn an: n=1,2,3,…}, can be written as
{aba, aabbaa, aaabbbaaa,aaaabbbbaaaa,…} 26
Example:
The language factorial, of strings defined over
Σ={1,2,3,4,5,6,7,8,9} i.e.
{1,2,6,24,120,…}
Example:
The language FACTORIAL, of strings defined
over Σ={a}, as
{an! : n=1,2,3,…}, can be written as
{a,aa,aaaaaa,…}. It is to be noted that the
language FACTORIAL can be defined over any
27
Example:
The language DOUBLEFACTORIAL, of strings
defined over Σ={a, b}, as
{an!bn! : n=1,2,3,…}, can be written as
{ab, aabb, aaaaaabbbbbb,…}
Example:
The language SQUARE, of strings defined over
Σ={a}, as
n2
{a : n=1,2,3,…}, can be written as
{a, aaaa, aaaaaaaaa,…} 28
Example:
The language DOUBLESQUARE, of
strings defined over Σ={a,b}, as
n2 n2
{a b : n=1,2,3,…}, can be written
as
{ab, aaaabbbb,
aaaaaaaaabbbbbbbbb,…}
29
Example:
The language PRIME, of strings
defined over Σ={a}, as
{ap : p is prime}, can be written as
{aa,aaa,aaaaa,aaaaaaa,aaaaaaaaaa
a…}
30
An Important language
PALINDROME:
The language consisting of Λ and the
strings s defined over Σ such that
Rev(s)=s.
It is to be denoted that the words of
PALINDROME are called palindromes.
Example:For Σ={a,b},
PALINDROME={Λ , a, b, aa, bb, aaa,
aba, bab, bbb, ...}
31