Regular languages can be described using regular expressions, which use operations like union, concatenation, and Kleene star. Regular expressions allow specifying languages that can be recognized by finite automata. Practical uses of regular expressions include text search tools like grep and generating lexical analyzers for compilers.
Theory of automata and formal languageRabia Khalid
KleenE Star Closure, Plus operation, recursive definition of languages, INTEGER, EVEN, factorial, PALINDROME, languages of strings, cursive definition of RE, defining languages by RE,Examples
Theory of automata and formal languageRabia Khalid
KleenE Star Closure, Plus operation, recursive definition of languages, INTEGER, EVEN, factorial, PALINDROME, languages of strings, cursive definition of RE, defining languages by RE,Examples
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
2. Language
recognition
machine
String Recognition Machine
• Given a string and a definition of a language
(set of strings), is the string a member of the
language?
YES, string is
in Language
Input string
NO, string is
not in
Language
Computer Science Theory 3
Language Classes
• We will be looking at classes of languages:
– Each class will have its own means for
describing the language
– Each class will have its own machine model for
string recognition
– Languages and machines get more complex as
we move forward in the course.
Computer Science Theory 4
2
3. Languages
• A language is a set of strings.
• A class of languages is nothing more than a
set of languages
Computer Science Theory 5
Regular Languages
• Today we start looking at our first class of
languages: Regular languages
– Means of defining: Regular Expressions
– Machine for accepting: Finite Automata
• We’ll be studying different aspects of
regular languages until the midterm.
Computer Science Theory 6
3
4. Specifying Languages
• Recall: how do we specify languages?
– If language is finite, you can list all of its
strings.
• L = {a, aa, aba, aca}
– Descriptive:
• L = {x | na(x) = nb(x)}
– Using basic Language operations
• L= {aa, ab}* {b}{bb}*
– Regular languages are described using this last
method
Computer Science Theory 7
Regular Languages
• A regular language over is a language that
can be expressed using only the set
operations of
– Union
– Concatenation
– Kleene Star
Computer Science Theory 8
4
5. Kleene Star Operation
• The set of strings that can be obtained by
concatenating any number of elements of a
language L is called the Kleene Star, L*
L*
ULi
L0
L1
L2
L3
L4
...
i0
4 Note that since, L* contains L0, is an
element of L*
Computer Science Theory 9
Regular Expressions
• Regular expressions are the mechanism by
which regular languages are described:
– Take the “set operation” definition of the
language and:
• Replace with +
• Replace {} with ()
– And you have a regular expression
Computer Science Theory 10
5
6. Computer Science Theory 11
Regular expressions
{}
{011} 011
{0,1} 0 + 1
{0, 01} 0 + 01
{110}*{0,1} (110)*(0+1)
{10, 11, 01}* (10 + 11 + 01)*
{0, 11}*({11}* {101, }) (0 + 11)*((11)* + 101 + )
Regular Expression
• Recursive definition of regular languages /
expressions over an alphabet, :
1. is a regular language and its regular
expression is
2. {} is a regular language and is its regular
expression
3. For each a , {a} is a regular language and
its regular expression is a
Computer Science Theory 12
6
7. Regular Expression
4. If L1 and L2 are regular languages with regular
expressions r1 and r2 then
-- L1 L2 is a regular language with regular
expression (r1 + r2)
-- L1L2 is a regular language with regular
expression (r1r2)
-- L1
* is a regular language with regular
expression (r1
*)
Only languages obtainable by using rules 1-4 are
regular languages.
Computer Science Theory 13
Regular Expressions
• Some shorthand
– If we apply precedents to the operators, we can
relax the full parenthesized definition:
• Kleene star has highest precedent
• Concatenation has mid precedent
• + has lowest precedent
– Thus
• a + b*c is the same as (a + ((b*)c))
• (a + b)* is not the same as a + b*
Computer Science Theory 14
7
8. Regular Expressions
• More shorthand
– Equating regular expressions.
• Two regular expressions are considered equal if they
describe the same language
• 1*1* =1*
• (a + b)* a + b*
Computer Science Theory 15
Regular Expressions
• Even more shorthand
– Sometimes you might see in the book:
• rn where n indicates the number of concatenations of
r (e.g. r6)
• r+ to indicate one or more concatenations of r.
– Note that this is only shorthand!
– r6 and r+ are not regular expressions.
Computer Science Theory 16
8
9. Regular Expressions
• Important thing to remember
– A regular expression is not a language
– A regular expression is used to describe a
language.
• It is incorrect to say that for a language L,
– L = (a + b + c)*
• But it’s okay to say that L is described by
– (a + b + c)*
Computer Science Theory 17
Examples of Regular Languages
• All finite languages are regular
– Can anyone tell why?
Computer Science Theory 18
9
10. Examples of Regular Languages
• All finite languages are regular
– A finite language L can be expressed as the
union of languages each with one string
corresponding to a string inL
– Example:
• L = {a, aa, aba, aca}
• L = {a} {aa} {aba} {aca}
• Regular expression: (a + aa + aba + abc)
Computer Science Theory 19
Examples of Regular Languages
• L = {x {0,1}* | |x| is even}
– Any string of even length can be obtained by
concatenating strings length 2.
– Any concatenation of strings of length 2 will be
even
– L = {00, 01, 10, 11}*
– Regular expressions describing L:
• (00 + 01 + 10 +11)*
• ((0 + 1)(0 +1))*
Computer Science Theory 20
10
11. Examples of Regular Languages
• L = {x {0,1}* | x does not end in 01 }
– If x does not end in 01, then either
• |x| < 2or
• x ends in 00, 10, or 11
– A regular expression that describes L is:
• + 0 + 1 + (0 + 1)*(00 + 10 + 11)
Computer Science Theory 21
Examples of Regular Languages
• L = {x {0,1}* | x contains an odd number
of 0s }
– Express x = yz
– y is a string of the form y=1i01j
– In z, there must be an even number of additional
0s or z = (01k01m)*
– x can be described by (1*01*)(01*01*)*
Computer Science Theory 22
11
12. Practical uses for regular expressions
• grep
– Global (search for) Regular Expressions and
Print
– Finds patterns of characters in a text file.
– grep man foo.txt
– grep [ab]*c[de]? foo.txt
Computer Science Theory 23
Computer Science Theory 24
Practical uses for regular expressions
• How a compiler works
Stream
of tokens
Parse
Tree
Objec
t
code
lexe
r
parse
r
codege
n
Sourc
e file
12
13. Practical uses for regular expressions
• How a compiler works
– The Lexical Analyzer (lexer) reads source code
and generates a stream of tokens
– What is a token?
• Identifier
• Keyword
• Number
• Operator
• Punctuation
Computer Science Theory 25
Practical uses for regular expressions
• How a compiler works
– Tokens can be described using regular
expressions!
Computer Science Theory 26
13
14. Examples of Regular Languages
• L = set of valid C keywords
– This is a finite set
– L can be described by
• if + then + else + while + do + goto + break + switch
+ …
Computer Science Theory 27
Examples of Regular Languages
• L = set of valid C identifiers
– A valid C identifier begins with a letter or _
– A valid C identifier contains letters, numbers,
and _
– If we let:
• l = {a , b , … , z , A , B , … ,Z}
• d = {1 , 2 , … , 9 , 0}
– Then a regular expression for L:
• (l + _)(l + d +_)*
Computer Science Theory 28
14
15. Practical uses for regular expressions
• lex
– Program that will create a lexical analyzer.
– Input: set of valid tokens
– Tokens are given by regular expressions.
Computer Science Theory 29
Summary
• Regular languages can be expressed using
only the set operations of union,
concatenation, Kleene Star.
• Regular languages
– Means of describing: Regular Expression
– Machine for accepting: Finite Automata
• Practical uses
– Text search (grep)
– Compilers / Lexical Analysis (lex)
Computer Science Theory 30
15