SlideShare ist ein Scribd-Unternehmen logo
1 von 13
PRINCIPLES OF COMPILER DESIGN
 REGULAR EXPRESSION
Concepts :
• Regular Expression
• Strings
• Languages
Regular Expressions

• A regular expression is a pattern that defines a
  string or portion thereof. When comparing this
  pattern against a string, it'll either be true or
  false. If true, it'll return something.
• The return value will depend on the specific
  function used and its attributes.
Strings And Languages
• Strings:
  A string is a data type used in programming, such as
    an integer and floating point unit, but is used to
    represent text rather than numbers. It is comprised
    of a set of characters that can also contain spaces and
    numbers. For example, the word “hamburger”. Even
    "12345" could be considered a string, if specified
    correctly.
   Two important examples of programming language
    alphabets are ASCII and EBCDIC character sets.
Strings (contd…):
• A string is a finite sequence of symbols such as 001.
  The length of a string x, usually denoted |x|, is the total
  number of symbols in x.
• For eg.: 110001 is a string of length 6. A special string
  is a empty string which is denoted by ε. This string is
  of length 0(zero).
• If x and y are strings, then the concatenation of x and y,
  written as x.y or just xy, is the string formed by
  following the symbols of x by the symbols of y.
• For eg.:abd.ce = abdce i.e. if x= abd & y=ce , then
   xy = abdce.
Strings (contd…)
• The concatenation of the empty string with any
  string is that string i.e. εx = xε = x.
• Concatenation is not any sort of product, thus it is
  an iterated product in form of exponential.
• E.g.: X1 = x, X2 = XX, X3 =XXX
• In general xi is the string x repeated i times. We
  take x0 to be ε for any string x. Thus, ε plays the
  role of 1, the multiplicative identity.
Strings (contd…)
• If x is some string, then any string formed by discarding
  zero or more trailing symbols of x is called a prefix of x.
• For e.g.: abc is a prefix of abcde.
• A suffix of x is a string formed by deleting zero or more of
  the leading symbols of x. cde is a suffix of abcde. A
  substring of x is any string obtained by deleting a prefix
  and a suffix from x.
• For any string x, both x and ε are prefixes, suffixes and
  substrings of x.
• Any prefix or suffix of x is a substring of x, but a
  substring need not be a prefix or suffix.
• For e.g..: cd is a substring of abcde but not a prefix or
  suffix .
Languages
• The term language means any set of strings formed
  from some specific alphabets.
• Simple set such as Φ, the empty set {ε} having no
  members or the set containing only the empty
  string, are languages.
• The notation of concatenation can also be applied to
  languages.
• For e.g.: If L and M are languages, then L.M, or just
  LM
• LM is language consisting of all strings xy which can
  be formed by selecting a string x from L, a string y
  from M, and concatenating them in that order.
   LM= {xy| x is in L and y is in M}
Languages (contd…)
• E.g.: If L={0, 01, 110} and M= {10, 110}. Then
  LM={010, 0110, 01110, 11010, 110110}
• 11010 can be written as the concatenation of of
  110 from L and 10 from M.
• 0110 can be written as either 0.110 or 01.10 i.e. it
  is a string from L followed by one from M.
• In analogy with strings, we use Li to stand for
  LL….L (i times). It is logicat to define L0 to be {ε},
  since {ε} is the identity under concatenation of
  languages. i.e. {ε}L = L{ε} = L
• The union of languages L & M is given by
  L ∪ M ={x | x is in L or x is in M}
Languages (contd…)
• If concatenation is analogous to multiplication.
  Then ø, the empty set is the identity under union
  (analogous to zero)
                 øUL=LUø=L
                       &
                 ø L=Lø=ø
• Any string in the concatenation of ø with L
 must be formed from x in ø and y in L.
• There is another operation in specifying
  tokens, that is closure or “any number of”
  operator. We use L* to denote the concatenation of
  language L with itself any number of times.
       ∞
• L* = U Li
      i=0


• Consider D be the language consisting of the
  strings 0,1,……9 i.e. each string is a single decimal
  digit. Then D* is all strings of digits including
  empty string.
• If L ={aa}, the L* is all strings of an even number of
  a’s.
• LO = {ε}
Regular expression (compiler)

Weitere ähnliche Inhalte

Was ist angesagt?

Chapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata TheoryChapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata TheoryTsegazeab Asgedom
 
Syntax directed translation
Syntax directed translationSyntax directed translation
Syntax directed translationAkshaya Arunan
 
Semantic Analysis.pptx
Semantic Analysis.pptxSemantic Analysis.pptx
Semantic Analysis.pptxZarfaMasood
 
Directed Acyclic Graph Representation of basic blocks
Directed Acyclic Graph Representation of basic blocksDirected Acyclic Graph Representation of basic blocks
Directed Acyclic Graph Representation of basic blocksMohammad Vaseem Akaram
 
primitive data types
 primitive data types primitive data types
primitive data typesJadavsejal
 
Regular expressions
Regular expressionsRegular expressions
Regular expressionsShiraz316
 
ITFT-Constants, variables and data types in java
ITFT-Constants, variables and data types in javaITFT-Constants, variables and data types in java
ITFT-Constants, variables and data types in javaAtul Sehdev
 
Theory of Computation Lecture Notes
Theory of Computation Lecture NotesTheory of Computation Lecture Notes
Theory of Computation Lecture NotesFellowBuddy.com
 
Context free languages
Context free languagesContext free languages
Context free languagesJahurul Islam
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal languageRabia Khalid
 
finding Min and max element from given array using divide & conquer
finding Min and max element from given array using  divide & conquer finding Min and max element from given array using  divide & conquer
finding Min and max element from given array using divide & conquer Swati Kulkarni Jaipurkar
 

Was ist angesagt? (20)

Constructor in java
Constructor in javaConstructor in java
Constructor in java
 
Chapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata TheoryChapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata Theory
 
Types of Compilers
Types of CompilersTypes of Compilers
Types of Compilers
 
Syntax directed translation
Syntax directed translationSyntax directed translation
Syntax directed translation
 
Semantic Analysis.pptx
Semantic Analysis.pptxSemantic Analysis.pptx
Semantic Analysis.pptx
 
Turing machine-TOC
Turing machine-TOCTuring machine-TOC
Turing machine-TOC
 
Directed Acyclic Graph Representation of basic blocks
Directed Acyclic Graph Representation of basic blocksDirected Acyclic Graph Representation of basic blocks
Directed Acyclic Graph Representation of basic blocks
 
TOC 9 | Pushdown Automata
TOC 9 | Pushdown AutomataTOC 9 | Pushdown Automata
TOC 9 | Pushdown Automata
 
Finite automata
Finite automataFinite automata
Finite automata
 
primitive data types
 primitive data types primitive data types
primitive data types
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Parse Tree
Parse TreeParse Tree
Parse Tree
 
NFA & DFA
NFA & DFANFA & DFA
NFA & DFA
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
ITFT-Constants, variables and data types in java
ITFT-Constants, variables and data types in javaITFT-Constants, variables and data types in java
ITFT-Constants, variables and data types in java
 
Theory of Computation Lecture Notes
Theory of Computation Lecture NotesTheory of Computation Lecture Notes
Theory of Computation Lecture Notes
 
Context free languages
Context free languagesContext free languages
Context free languages
 
Recognition-of-tokens
Recognition-of-tokensRecognition-of-tokens
Recognition-of-tokens
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal language
 
finding Min and max element from given array using divide & conquer
finding Min and max element from given array using  divide & conquer finding Min and max element from given array using  divide & conquer
finding Min and max element from given array using divide & conquer
 

Ähnlich wie Regular expression (compiler)

1 introduction
1 introduction1 introduction
1 introductionparmeet834
 
Chapter2CDpdf__2021_11_26_09_19_08.pdf
Chapter2CDpdf__2021_11_26_09_19_08.pdfChapter2CDpdf__2021_11_26_09_19_08.pdf
Chapter2CDpdf__2021_11_26_09_19_08.pdfDrIsikoIsaac
 
01-Introduction&Languages.pdf
01-Introduction&Languages.pdf01-Introduction&Languages.pdf
01-Introduction&Languages.pdfTariqSaeed80
 
theory of computation lecture 02
theory of computation lecture 02theory of computation lecture 02
theory of computation lecture 028threspecter
 
2_2Specification of Tokens.ppt
2_2Specification of Tokens.ppt2_2Specification of Tokens.ppt
2_2Specification of Tokens.pptRatnakar Mikkili
 
Presentation (5).pdf
Presentation (5).pdfPresentation (5).pdf
Presentation (5).pdfGaurav447273
 
Lecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular LanguagesLecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular LanguagesMarina Santini
 
Automata
AutomataAutomata
AutomataGaditek
 
Automata
AutomataAutomata
AutomataGaditek
 
9781284077247_PPTx_CH01.pptx
9781284077247_PPTx_CH01.pptx9781284077247_PPTx_CH01.pptx
9781284077247_PPTx_CH01.pptxmainakmail2585
 
Syntax Analyzer.pdf
Syntax Analyzer.pdfSyntax Analyzer.pdf
Syntax Analyzer.pdfkenilpatel65
 
Lecture 1,2
Lecture 1,2Lecture 1,2
Lecture 1,2shah zeb
 

Ähnlich wie Regular expression (compiler) (20)

Regular expression (compiler)
Regular expression (compiler)Regular expression (compiler)
Regular expression (compiler)
 
1 introduction
1 introduction1 introduction
1 introduction
 
Module 1 TOC.pptx
Module 1 TOC.pptxModule 1 TOC.pptx
Module 1 TOC.pptx
 
Chapter2CDpdf__2021_11_26_09_19_08.pdf
Chapter2CDpdf__2021_11_26_09_19_08.pdfChapter2CDpdf__2021_11_26_09_19_08.pdf
Chapter2CDpdf__2021_11_26_09_19_08.pdf
 
01-Introduction&Languages.pdf
01-Introduction&Languages.pdf01-Introduction&Languages.pdf
01-Introduction&Languages.pdf
 
Unit-1-part-1.pptx
Unit-1-part-1.pptxUnit-1-part-1.pptx
Unit-1-part-1.pptx
 
Lexical analyzer
Lexical analyzerLexical analyzer
Lexical analyzer
 
theory of computation lecture 02
theory of computation lecture 02theory of computation lecture 02
theory of computation lecture 02
 
Flat unit 1
Flat unit 1Flat unit 1
Flat unit 1
 
2_2Specification of Tokens.ppt
2_2Specification of Tokens.ppt2_2Specification of Tokens.ppt
2_2Specification of Tokens.ppt
 
Presentation (5).pdf
Presentation (5).pdfPresentation (5).pdf
Presentation (5).pdf
 
Regular Expression
Regular ExpressionRegular Expression
Regular Expression
 
Theory of computation
Theory of computationTheory of computation
Theory of computation
 
Lecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular LanguagesLecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular Languages
 
Automata
AutomataAutomata
Automata
 
Automata
AutomataAutomata
Automata
 
9781284077247_PPTx_CH01.pptx
9781284077247_PPTx_CH01.pptx9781284077247_PPTx_CH01.pptx
9781284077247_PPTx_CH01.pptx
 
Syntax
SyntaxSyntax
Syntax
 
Syntax Analyzer.pdf
Syntax Analyzer.pdfSyntax Analyzer.pdf
Syntax Analyzer.pdf
 
Lecture 1,2
Lecture 1,2Lecture 1,2
Lecture 1,2
 

Mehr von Jagjit Wilku

Mehr von Jagjit Wilku (7)

Health insurance
Health insuranceHealth insurance
Health insurance
 
Auto insurance
Auto insuranceAuto insurance
Auto insurance
 
Mobile communication
Mobile communicationMobile communication
Mobile communication
 
Neural networks
Neural networksNeural networks
Neural networks
 
Decision trees
Decision treesDecision trees
Decision trees
 
Complier designer
Complier designerComplier designer
Complier designer
 
Mc wireless lan
Mc wireless lanMc wireless lan
Mc wireless lan
 

Kürzlich hochgeladen

Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQuiz Club NITW
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleCeline George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsPooky Knightsmith
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 

Kürzlich hochgeladen (20)

Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP Module
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young minds
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 

Regular expression (compiler)

  • 1. PRINCIPLES OF COMPILER DESIGN REGULAR EXPRESSION
  • 2. Concepts : • Regular Expression • Strings • Languages
  • 3. Regular Expressions • A regular expression is a pattern that defines a string or portion thereof. When comparing this pattern against a string, it'll either be true or false. If true, it'll return something. • The return value will depend on the specific function used and its attributes.
  • 4. Strings And Languages • Strings: A string is a data type used in programming, such as an integer and floating point unit, but is used to represent text rather than numbers. It is comprised of a set of characters that can also contain spaces and numbers. For example, the word “hamburger”. Even "12345" could be considered a string, if specified correctly.  Two important examples of programming language alphabets are ASCII and EBCDIC character sets.
  • 5. Strings (contd…): • A string is a finite sequence of symbols such as 001. The length of a string x, usually denoted |x|, is the total number of symbols in x. • For eg.: 110001 is a string of length 6. A special string is a empty string which is denoted by ε. This string is of length 0(zero). • If x and y are strings, then the concatenation of x and y, written as x.y or just xy, is the string formed by following the symbols of x by the symbols of y. • For eg.:abd.ce = abdce i.e. if x= abd & y=ce , then xy = abdce.
  • 6. Strings (contd…) • The concatenation of the empty string with any string is that string i.e. εx = xε = x. • Concatenation is not any sort of product, thus it is an iterated product in form of exponential. • E.g.: X1 = x, X2 = XX, X3 =XXX • In general xi is the string x repeated i times. We take x0 to be ε for any string x. Thus, ε plays the role of 1, the multiplicative identity.
  • 7. Strings (contd…) • If x is some string, then any string formed by discarding zero or more trailing symbols of x is called a prefix of x. • For e.g.: abc is a prefix of abcde. • A suffix of x is a string formed by deleting zero or more of the leading symbols of x. cde is a suffix of abcde. A substring of x is any string obtained by deleting a prefix and a suffix from x. • For any string x, both x and ε are prefixes, suffixes and substrings of x. • Any prefix or suffix of x is a substring of x, but a substring need not be a prefix or suffix. • For e.g..: cd is a substring of abcde but not a prefix or suffix .
  • 8. Languages • The term language means any set of strings formed from some specific alphabets. • Simple set such as Φ, the empty set {ε} having no members or the set containing only the empty string, are languages. • The notation of concatenation can also be applied to languages. • For e.g.: If L and M are languages, then L.M, or just LM • LM is language consisting of all strings xy which can be formed by selecting a string x from L, a string y from M, and concatenating them in that order. LM= {xy| x is in L and y is in M}
  • 9. Languages (contd…) • E.g.: If L={0, 01, 110} and M= {10, 110}. Then LM={010, 0110, 01110, 11010, 110110} • 11010 can be written as the concatenation of of 110 from L and 10 from M. • 0110 can be written as either 0.110 or 01.10 i.e. it is a string from L followed by one from M. • In analogy with strings, we use Li to stand for LL….L (i times). It is logicat to define L0 to be {ε}, since {ε} is the identity under concatenation of languages. i.e. {ε}L = L{ε} = L • The union of languages L & M is given by L ∪ M ={x | x is in L or x is in M}
  • 10. Languages (contd…) • If concatenation is analogous to multiplication. Then ø, the empty set is the identity under union (analogous to zero) øUL=LUø=L & ø L=Lø=ø • Any string in the concatenation of ø with L must be formed from x in ø and y in L.
  • 11. • There is another operation in specifying tokens, that is closure or “any number of” operator. We use L* to denote the concatenation of language L with itself any number of times. ∞ • L* = U Li i=0 • Consider D be the language consisting of the strings 0,1,……9 i.e. each string is a single decimal digit. Then D* is all strings of digits including empty string. • If L ={aa}, the L* is all strings of an even number of a’s.
  • 12. • LO = {ε}