SlideShare una empresa de Scribd logo
1 de 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)

Más contenido relacionado

La actualidad más candente

Symbol table design (Compiler Construction)
Symbol table design (Compiler Construction)Symbol table design (Compiler Construction)
Symbol table design (Compiler Construction)
Tech_MX
 

La actualidad más candente (20)

Regular Expression
Regular ExpressionRegular Expression
Regular Expression
 
Lecture 1,2
Lecture 1,2Lecture 1,2
Lecture 1,2
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4
 
Python programming : Standard Input and Output
Python programming : Standard Input and OutputPython programming : Standard Input and Output
Python programming : Standard Input and Output
 
Properties of Regular Expressions
Properties of Regular ExpressionsProperties of Regular Expressions
Properties of Regular Expressions
 
Symbol table design (Compiler Construction)
Symbol table design (Compiler Construction)Symbol table design (Compiler Construction)
Symbol table design (Compiler Construction)
 
Java Method, Static Block
Java Method, Static BlockJava Method, Static Block
Java Method, Static Block
 
TOC 5 | Regular Expressions
TOC 5 | Regular ExpressionsTOC 5 | Regular Expressions
TOC 5 | Regular Expressions
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4
 
Python programming : Arrays
Python programming : ArraysPython programming : Arrays
Python programming : Arrays
 
python Function
python Function python Function
python Function
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Parsing
ParsingParsing
Parsing
 
word level analysis
word level analysis word level analysis
word level analysis
 
Avl trees
Avl treesAvl trees
Avl trees
 
2.5 ambiguity in context free grammars
2.5 ambiguity in context free grammars2.5 ambiguity in context free grammars
2.5 ambiguity in context free grammars
 
Context free grammars
Context free grammarsContext free grammars
Context free grammars
 
Lecture 02 lexical analysis
Lecture 02 lexical analysisLecture 02 lexical analysis
Lecture 02 lexical analysis
 
Hashing PPT
Hashing PPTHashing PPT
Hashing PPT
 
Lecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular LanguagesLecture: Regular Expressions and Regular Languages
Lecture: Regular Expressions and Regular Languages
 

Similar a Regular expression (compiler)

Similar a 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
 
Automata_Theory_and_compiler_design_UNIT-1.pptx.pdf
Automata_Theory_and_compiler_design_UNIT-1.pptx.pdfAutomata_Theory_and_compiler_design_UNIT-1.pptx.pdf
Automata_Theory_and_compiler_design_UNIT-1.pptx.pdf
 
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
 
Regular expressions h1
Regular expressions h1Regular expressions h1
Regular expressions h1
 

Más de 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
 

Último

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Último (20)

How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 

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 = {ε}