Lexical Analysis, II Comp 412

Size: px
Start display at page:

Download "Lexical Analysis, II Comp 412"

Transcription

1 COMP 412 FALL 2017 Lexicl Anlysis, II Comp 412 source code IR Front End OpMmizer Bck End IR trget code Copyright 2017, Keith D. Cooper & Lind Torczon, ll rights reserved. Students enrolled in Comp 412 t Rice University hve explicit permission to mke copies of these mterils for their personl use. Fculty from other educmonl insmtumons my use these mterils for nonprofit educmonl purposes, provided this copyright nomce is preserved. Chpter 2 in EC2e

2 Determinism (or not) So fr, we hve only looked t determinisac utomt, or DFAs DFA DeterminisMc Finite Automton DeterminisMc mens tht it hs only one trnsimon out of stte on given chrcter s 0 s 1 rther thn s 0 s 1 s 2 s 3 COMP 412, Fll

3 Determinism (or not) So fr, we hve only looked t determinisac utomt, or DFAs DFA DeterminisMc Finite Automton DeterminisMc mens tht it hs only one trnsimon out of stte on given chrcter s 0 s 1 rther thn s 0 s 1 s 2 s 3 Cn finite utomton hve mulmple trnsimons out of single stte on the sme chrcter? Yes, we cll such n FA Nondeterminis8c Finite Automton And, yes, the NFA is truly n odd no8on ut useful one NFAs nd DFAs re equivlent SomeMmes, it is esier to uild n NFA thn to uild DFA COMP trnsiaon 412, Fll does 2017 not consume n input chrcter, which should worry us. (O(1)?) 2

4 Who. Wht Does Tht NFA Men? An NFA ccepts string x iff pth though the trnsiaon grph from s 0 to finl stte such tht the edge lels spell x, ignoring s Two models for NFA execumon 1. To run the NFA, strt in s 0 nd guess the right trnsimon t ech step 2. To run the NFA, strt in s 0 nd, t ech non-determinismc choice, clone the NFA to purse ll possile pths. If ny of the clones succeeds, ccept s 1 w h t s 1 s 2 s 3 s 4 s 0 s 1 w h o s 1 s 2 s 3 NFA for wht who In some sense, this sme opermonl definimon works on DFA COMP See pge 412, Fll in EC2e. 3

5 Why Do We Cre? We need construcaon tht tkes n RE to DFA to scnner. NFAs will help up get there. Overview: 1. Simple nd direct construcmon of nondeterminisac finite utomton (NFA) to recognize given RE Esy to uild in n lgorithmic wy Key ide is to comine NFAs for the terms with -trnsimons 2. Construct determinisac finite utomton (DFA) tht simultes the NFA Use set-of-sttes construcmon 3. Minimize the numer of sttes in the DFA We will look t 2 different lgorithms: Hopcrod s & Brzozowski s 4. Generte the scnner code AddiMonl specificmons needed for the cmons lex nd flex work long these lines OpMonl, ut worthwhile; reduces DFA size COMP 412, Fll

6 Exmple of DFA Here is DFA for ( ) * S 0 S 1 S 2 S 3 This DFA is not praculrly ovious from the RE. Ech RE corresponds to one or more determinis3c finite utomtons (DFAs) We know DFA exists for ech RE The DFA my e hrd to uild directly AutomMc techniques will uild it for us For lgorithm ficiondos in the clss, this DFA is reminiscent of the wy tht the COMP filure 412, funcmon Fll 2017 works in the Knuth, Morris, & Pri su-liner Mme piern mtcher. 5

7 Exmple s n NFA Here is simpler, more ovious NFA for ( ) * S 0 S 1 S 2 S 2 S 3 ( ) * Here is n NFA for the sme lnguge The relmonship etween the RE nd the NFA is more ovious The -trnsimon pstes together two DFAs to form single NFA We cn rewrite this NFA to eliminte the -trnsimon -trnsimons re n odd nd convenient quirk of NFAs EliminMng this one mkes it ovious tht it hs 2 trnsimons on from s 0 COMP 412, Fll

8 RelMonship etween NFAs nd DFAs DFA is specil cse of n NFA DFA hs no trnsimons DFA s trnsimon funcmon is single-vlued Sme rules will work DFA cn e simulted with n NFA Oviously NFA cn e simulted with DFA Simulte sets of possile sttes Possile exponenml lowup in the stte spce SMll, one stte per chrcter in the input strem NFA & DFA re equivlent in ility to recognize lnguges (less ovious, ut s8ll true) COMP 412, Fll 2017 Rin & ScoV,

9 The Pln for Scnner ConstrucMon RE NFA (Thompson s construc8on) ü Build n NFA for ech term in the RE Comine them in pierns tht model the opertors NFA DFA (Suset construc8on) ü Build DFA tht simultes the NFA DFA Miniml DFA Hopcrod s lgorithm Brzozowski s lgorithm Miniml DFA Scnner See 2.5 in EC2e DFA RE All pirs, ll pths prolem Union together pths from s 0 to finl stte RE NFA DFA Automt Theory Moment Tken together, the construcmons on the cycle show tht REs, NFAs, nd DFAs re ll equivlent in their expressive power. The Cycle of Construc8ons Scnner miniml DFA Tken COMP 412, together, Fll 2017 these construcaons prove tht DFAs nd REs re equivlent. 8

10 RE NFA using Thompson s ConstrucMon Key ide NFA piern for ech symol & ech opertor Join them with moves in precedence order S 0 S 1 S 0 S 1 S 3 S 4 NFA for NFA for S 0 S 1 S 2 S 5 S 0 S 1 S 3 S 4 S 3 S 4 NFA for NFA for * Precedence in REs: Closure ConctenMon COMP AlternMon 412, Fll 2017 Ken Thompson, CACM,

11 Exmple of Thompson s ConstrucMon Let s uild n NFA for ( c ) * 1.,, & c S 0 S 1 S 0 S 1 c S 0 S 1 2. c 3. ( c ) * S 1 S 2 S 0 S 5 c S 3 S 4 S 2 S 3 S 0 S 1 S 6 S 7 S 4 c S 5 Note tht sttes re eing renmed t ech step. COMP 412, Fll

12 Exmple of Thompson s ConstrucMon 4. ( c ) * S 0 S 1 S 4 S 5 S 2 S 3 S 8 S 9 S 6 c S 7 Of course, humn would design something simpler... S 0 S 1 c But, we cn utomte producaon of the more complex NFA version... COMP 412, Fll

13 Thompson s ConstrucMon Wrning You will e tempted to tke shortcuts, such s leving out some of the trnsimons Do not do it. Memorize these four pierns. They will keep you out of troule. S 0 S 1 S 0 S 1 S 3 S 4 NFA for NFA for S 0 S 1 S 2 S 3 S 4 S 5 S 0 S 1 S 3 S 4 NFA for NFA for * COMP Ken Thompson, 412, Fll 2017 CACM,

14 The Pln for Scnner ConstrucMon RE NFA (Thompson s construc8on) ü Build n NFA for ech term in the RE Comine them in pierns tht model the opertors NFA DFA (Suset construc8on) ü Build DFA tht simultes the NFA DFA Miniml DFA Hopcrod s lgorithm Brzozowski s lgorithm Miniml DFA Scnner See 2.5 in EC2e DFA RE All pirs, ll pths prolem Union together pths from s 0 to finl stte The Cycle of Construc8ons RE NFA DFA Scnner miniml DFA COMP 412, Fll

15 SimulMng n NFA with DFA NFA n 0 n 1 ( c )* n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 DFA Where the mpping etween NFA sttes nd DFA sttes is: d 0 d 1 c d 2 c DFA NFA d 0 n 0 d 1 n 1 n 2 n 9 d 3 d 2 n 5 n 8 n 9 c d 3 n 7 n 8 n 9 COMP 412, Fll

16 NFA DFA with Suset ConstrucMon The suset construcaon uilds DFA tht simultes the NFA Two key funcaons Move(s i, ) is the set of sttes rechle from s i y FollowEpsilon(s i ) is the set of sttes rechle from s i y The lgorithm Derive the DFA s strt stte from n 0 of the NFA Add ll sttes rechle from n 0 y following d 0 = FollowEpsilon ( {n 0 } ) Let D = { d 0 } For α Σ, compute FollowEpsilon ( Move(d 0, α) ) If this cretes new stte, dd it to D Iterte unml no more sttes re dded COMP It sounds 412, Fll more 2017 complex thn it is Rin & ScoV,

17 Any DFA stte tht contins finl stte of the NFA ecomes finl stte of the DFA. NFA DFA with Suset ConstrucMon The lgorithm: d 0 FollowEpsilon( { n 0 } ) D { d 0 } W { d 0 } while ( W Ø ) { select nd remove s from W for ech α Σ { t FollowEpsilon(Move(s,α)) T[s,α] t } } } if ( t D ) then { dd t to D dd t to W d 0 is set of sttes D & W re sets of sets of sttes COMP , Fll 2017 The lgorithm hlts: 1. D contins no duplictes (test efore ddimon) 2. 2 {NFA sttes} is finite 3. while loop dds to D, ut does not remove from D (monotone) the loop hlts D contins ll the rechle NFA sttes It tries ech chrcter in ech d i. It uilds every possile NFA configur8on. D nd T form the DFA This test is liile tricky

18 NFA DFA with Suset ConstrucMon Exmple of fixed-point computaon Monotone construcmon of some finite set Hlts when it stops dding to the set Proofs of hlmng & correctness re similr These computmons rise in mny contexts Other fixed-point computaons Cnonicl construcmon of sets of LR(1) items Quite similr to the suset construcmon Clssic dt-flow nlysis & Gussin EliminMon Solving sets of simultneous set equmons We will see mny more fixed-point comput8ons COMP 412, Fll

19 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 s 1 n 1, n 2, n 3, n 4, n 6, n 9 n 1, n 2, n 3, n 4, n 6, n 9 none none none n 5, n 8, n 9, n 7, n 8, n 9, s 2 n 5, n 8, n 9, s 3 n 7, n 8, n 9, COMP 412, Fll

20 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 s 1 n 1, n 2, n 3, n 4, n 6, n 9 none n 5, n 8, n 9, n 7, n 8, n 9, s 2 n 5, n 8, n 9, s 3 n 7, n 8, n 9, COMP 412, Fll

21 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 s 1 n 1, n 2, n 3, n 4, n 6, n 9 none none none n 5, n 8, n 9, n 7, n 8, n 9, s 2 n 5, n 8, n 9, s 3 n 7, n 8, n 9, COMP 412, Fll

22 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 d 1 none none none n 5, n 8, n 9, n 7, n 8, n 9, s 2 n 5, n 8, n 9, s 3 n 7, n 8, n 9, COMP 412, Fll

23 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 d 1 none none none n 5, n 8, n 9, n 7, n 8, n 9, s 2 n 5, n 8, n 9, s 3 n 7, n 8, n 9, COMP 412, Fll

24 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 none none d 1 none n 5 n 8 n 9 s 2 n 5 n 8, n 9, s 3 n 7, n 8, n 9, COMP 412, Fll

25 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 none none d 1 none n 5 n 8 n 9 n 7 n 8 n 9 s 2 n 5 n 8, n 9, s 3 n 7, n 8, n 9, COMP 412, Fll

26 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 none none d 1 none n 5 n 8 n 9 n 7 n 8 n 9 d 2 n 5 n 8 n 9 s 3 n 7 n 8, n 9, COMP 412, Fll

27 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 none none d 1 none n 5 n 8 n 9 n 7 n 8 n 9 d 2 n 5 n 8 n 9 d 3 n 7 n 8 n 9 COMP 412, Fll

28 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 none none d 1 none n 5 n 8 n 9 n 7 n 8 n 9 d 2 n 5 n 8 n 9 none d 3 n 7 n 8 n 9 none COMP 412, Fll

29 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 n 7 is the core stte of d 3 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 none none d 1 none n 5 n 8 n 9 n 7 n 8 n 9 d 2 n 5 n 8 n 9 none d 2 d 3 s 3 n 7 n 8 n 9 COMP 412, Fll

30 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 n 5 is the core stte of d 2 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 none none d 1 none n 5 n 8 n 9 n 7 n 8 n 9 d 2 n 5 n 8 n 9 none d 2 d 3 d 3 n 7 n 8 n 9 none d 2 d 3 COMP 412, Fll

31 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 none none d 1 none n 5 n 8 n 9 n 7 n 8 n 9 d 2 n 5 n 8 n 9 none d 2 d 3 d 3 n 7 n 8 n 9 none d 2 d 3 Finl sttes ecuse of n 9 COMP 412, Fll

32 NFA DFA with Suset ConstrucMon ( c )* : n 0 n 1 n 4 n 5 n n 3 n 2 8 n 9 c n 6 n 7 Sttes FollowEpsilon ( Move( s,*) ) DFA NFA c d 0 n 0 d 1 none none d 1 none d 2 d 3 d 2 n 5 n 8 n 9 none d 2 d 3 d 3 n 7 n 8 n 9 none d 2 d 3 TrnsiAon tle for the DFA COMP 412, Fll

33 NFA DFA with Suset ConstrucMon The DFA for ( c ) * c d 0 d 1 c d 2 c d 0 d 1 d 1 none none none d 2 d 3 d 3 c d 2 none d 2 d 3 d 3 none d 2 d 3 Much smller thn the NFA (no -trnsimons) All trnsimons re determinismc Use sme code skeleton s efore But, rememer, our gol ws: S 0 S 1 c COMP 412, Fll

34 Rin nd Scoi, 1959 (pge 8) ordinry utomton, defining exctly the sme set of (S,M*,F,So) where the function Ms is defined y the s tpes given nondeterministic mchine. condition Definition 11. Let S=(S,M,So,F) e nondeter-.s' is in M" (s,u) if nd only if s is in M(s',u). ministic utumtun. %(!X) is the system (T,N,to,G) where T is the set of ll susets of S, N is function 011 Notice tht we hve t once the eqution 91"" =%. TXZ such tht N(t+,) is the union of the sets M(s,u) The reltion etween the sets defined y n utomton for s in 1, to=so, nd G is the set of ll susets of S con- nd its dul is s follows. " ~~. - tining t lest one memer of F. Clerly D( 3) is n ordinry utomton, ut it is ctully equivlent to!x. Theorem 11. If 3 is nondeterministic utomton, then T(%) =T(%(X) 1. Proof: Assume first tht tpe x=u0u1... u,-~ is in T( 91) nd let so,sl,..., s, e sequence of internl sttestisfying the conditions of Definition 10. We show y induction tht for kln, sk is in N( For k=o, N(to,oxk)=N(t,,A)=to=S, nd we were given tht so is in So. Assume the result for k- 1. By definition, ~(to,oxk)=n(~(to,oxk-l),~k-l). But we hve ssumed sk-l is in N(to,oxk-l) so tht from the definition of N we hve M(S~.-~,U~-~)C N(t,,,x,). However, sk is in M(S~-~,U~-~), nd so the res'ult is estlished. In prticulr s, is in N(t,,ox,) =N(t,,x), nd since s, is in F, we hve N(to,x) in G, which proves tht x is in T( %( 91) ). Hence, we hve shown tht T(91)C T(D(91) >. Assume next tht tpe x=u0u1... u,-~ is in T(B(S)). Let for ech kln, tk=n(to,,xk). We shll work ckwrds. First, we know tht t, is in G. Let then s, e ny internl stte of 8 such tht s,, is in t, nd s, is in F. Since s, is in tn=n(t,,,(,x,)=n(t,-l,u,_,), we hve from the definition of N tht s,, is in M(S,-~,U~-~) for some s,-~ in t,-l. But tn"l=n(to,"x,-l) =N(tn--2,un"2), You must pprecite the clerly. Theorem 12. If 91 is nondeterministic utomton, then T(X*) =T(W *. Proof: In view of the equlity %*:!==?I, we need only show T(S*)< T(S)". Let x=uoul... e tpe in T(%*); we must show tht x* is in T(91). Let so&,..., s, e the sequence of internl sttes of %* such tht so is in F, s, is in So nd s, is in M*(sk-l,uk-l) for k= 1,2,..., n. Define new sequence S'~~,S'~,..., s', y the eqution S'~=S,+~ for kln. Oviously, do is in S,, nd s', is in F. Further, for k>o nd kln, S'~-~=S,-~+~ is in M*(s~-~,u,~~), or in other words, S,_,~"S'~ is in M (S'~~,,U,-~). Now defining new sequence of symols dodl... ',-, y the formul dk= unpk- 1, we see tht u'k"l=u,-k nd u',,dl... u', - = x". Thus, x+ is in T(91) s ws to e proved. It should e noted tht Theorem 12 together with Theorem 11 yields direct construction nd proof for Theorem 4 of Section 3 which ws first proved y the indirect method of Theorem 1. In the next section we mke hevy use of the direct constructions supplied y the nondeterministic mchines totin results not esily pprent from the mthemticl chrcteriztions of Theorems 1 nd Further closure properties Simplifying result due originlly to Kleene, Myhill in unpulished work hs shown tht the clss T cn e chrcterized s the lest clss of sets of tpes contining the finite sets nd closed under some simple opertions on sets of tpes. We indicte here different proof using

35 The Pln for Scnner ConstrucMon RE NFA (Thompson s construc8on) ü Build n NFA for ech term in the RE Comine them in pierns tht model the opertors NFA DFA (Suset construc8on) ü Build DFA tht simultes the NFA DFA Miniml DFA Hopcrod s lgorithm Brzozowski s lgorithm Miniml DFA Scnner See 2.5 in EC2e DFA RE All pirs, ll pths prolem Union together pths from s 0 to finl stte The Cycle of Construc8ons RE NFA DFA Scnner miniml DFA COMP 412, Fll

CS415 Compilers. Lexical Analysis and. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

CS415 Compilers. Lexical Analysis and. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University CS415 Compilers Lexicl Anlysis nd These slides re sed on slides copyrighted y Keith Cooper, Ken Kennedy & Lind Torczon t Rice University First Progrmming Project Instruction Scheduling Project hs een posted

More information

Regular expressions, Finite Automata, transition graphs are all the same!!

Regular expressions, Finite Automata, transition graphs are all the same!! CSI 3104 /Winter 2011: Introduction to Forml Lnguges Chpter 7: Kleene s Theorem Chpter 7: Kleene s Theorem Regulr expressions, Finite Automt, trnsition grphs re ll the sme!! Dr. Neji Zgui CSI3104-W11 1

More information

AUTOMATA AND LANGUAGES. Definition 1.5: Finite Automaton

AUTOMATA AND LANGUAGES. Definition 1.5: Finite Automaton 25. Finite Automt AUTOMATA AND LANGUAGES A system of computtion tht only hs finite numer of possile sttes cn e modeled using finite utomton A finite utomton is often illustrted s stte digrm d d d. d q

More information

Scanner. Specifying patterns. Specifying patterns. Operations on languages. A scanner must recognize the units of syntax Some parts are easy:

Scanner. Specifying patterns. Specifying patterns. Operations on languages. A scanner must recognize the units of syntax Some parts are easy: Scnner Specifying ptterns source code tokens scnner prser IR A scnner must recognize the units of syntx Some prts re esy: errors mps chrcters into tokens the sic unit of syntx x = x + y; ecomes

More information

CSCI 340: Computational Models. Kleene s Theorem. Department of Computer Science

CSCI 340: Computational Models. Kleene s Theorem. Department of Computer Science CSCI 340: Computtionl Models Kleene s Theorem Chpter 7 Deprtment of Computer Science Unifiction In 1954, Kleene presented (nd proved) theorem which (in our version) sttes tht if lnguge cn e defined y ny

More information

1. For each of the following theorems, give a two or three sentence sketch of how the proof goes or why it is not true.

1. For each of the following theorems, give a two or three sentence sketch of how the proof goes or why it is not true. York University CSE 2 Unit 3. DFA Clsses Converting etween DFA, NFA, Regulr Expressions, nd Extended Regulr Expressions Instructor: Jeff Edmonds Don t chet y looking t these nswers premturely.. For ech

More information

Regular Expressions (RE) Regular Expressions (RE) Regular Expressions (RE) Regular Expressions (RE) Kleene-*

Regular Expressions (RE) Regular Expressions (RE) Regular Expressions (RE) Regular Expressions (RE) Kleene-* Regulr Expressions (RE) Regulr Expressions (RE) Empty set F A RE denotes the empty set Opertion Nottion Lnguge UNIX Empty string A RE denotes the set {} Alterntion R +r L(r ) L(r ) r r Symol Alterntion

More information

Finite Automata-cont d

Finite Automata-cont d Automt Theory nd Forml Lnguges Professor Leslie Lnder Lecture # 6 Finite Automt-cont d The Pumping Lemm WEB SITE: http://ingwe.inghmton.edu/ ~lnder/cs573.html Septemer 18, 2000 Exmple 1 Consider L = {ww

More information

Nondeterminism and Nodeterministic Automata

Nondeterminism and Nodeterministic Automata Nondeterminism nd Nodeterministic Automt 61 Nondeterminism nd Nondeterministic Automt The computtionl mchine models tht we lerned in the clss re deterministic in the sense tht the next move is uniquely

More information

1 Nondeterministic Finite Automata

1 Nondeterministic Finite Automata 1 Nondeterministic Finite Automt Suppose in life, whenever you hd choice, you could try oth possiilities nd live your life. At the end, you would go ck nd choose the one tht worked out the est. Then you

More information

Chapter Five: Nondeterministic Finite Automata. Formal Language, chapter 5, slide 1

Chapter Five: Nondeterministic Finite Automata. Formal Language, chapter 5, slide 1 Chpter Five: Nondeterministic Finite Automt Forml Lnguge, chpter 5, slide 1 1 A DFA hs exctly one trnsition from every stte on every symol in the lphet. By relxing this requirement we get relted ut more

More information

Deterministic Finite Automata

Deterministic Finite Automata Finite Automt Deterministic Finite Automt H. Geuvers nd J. Rot Institute for Computing nd Informtion Sciences Version: fll 2016 J. Rot Version: fll 2016 Tlen en Automten 1 / 21 Outline Finite Automt Finite

More information

Convert the NFA into DFA

Convert the NFA into DFA Convert the NF into F For ech NF we cn find F ccepting the sme lnguge. The numer of sttes of the F could e exponentil in the numer of sttes of the NF, ut in prctice this worst cse occurs rrely. lgorithm:

More information

Designing finite automata II

Designing finite automata II Designing finite utomt II Prolem: Design DFA A such tht L(A) consists of ll strings of nd which re of length 3n, for n = 0, 1, 2, (1) Determine wht to rememer out the input string Assign stte to ech of

More information

Java II Finite Automata I

Java II Finite Automata I Jv II Finite Automt I Bernd Kiefer Bernd.Kiefer@dfki.de Deutsches Forschungszentrum für künstliche Intelligenz Finite Automt I p.1/13 Processing Regulr Expressions We lredy lerned out Jv s regulr expression

More information

Minimal DFA. minimal DFA for L starting from any other

Minimal DFA. minimal DFA for L starting from any other Miniml DFA Among the mny DFAs ccepting the sme regulr lnguge L, there is exctly one (up to renming of sttes) which hs the smllest possile numer of sttes. Moreover, it is possile to otin tht miniml DFA

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Orgniztion of Progrmming Lnguges Finite Automt 2 CMSC 330 1 Types of Finite Automt Deterministic Finite Automt (DFA) Exctly one sequence of steps for ech string All exmples so fr Nondeterministic

More information

Chapter 2 Finite Automata

Chapter 2 Finite Automata Chpter 2 Finite Automt 28 2.1 Introduction Finite utomt: first model of the notion of effective procedure. (They lso hve mny other pplictions). The concept of finite utomton cn e derived y exmining wht

More information

Lecture 08: Feb. 08, 2019

Lecture 08: Feb. 08, 2019 4CS4-6:Theory of Computtion(Closure on Reg. Lngs., regex to NDFA, DFA to regex) Prof. K.R. Chowdhry Lecture 08: Fe. 08, 2019 : Professor of CS Disclimer: These notes hve not een sujected to the usul scrutiny

More information

Lexical Analysis Finite Automate

Lexical Analysis Finite Automate Lexicl Anlysis Finite Automte CMPSC 470 Lecture 04 Topics: Deterministic Finite Automt (DFA) Nondeterministic Finite Automt (NFA) Regulr Expression NFA DFA A. Finite Automt (FA) FA re grph, like trnsition

More information

First Midterm Examination

First Midterm Examination Çnky University Deprtment of Computer Engineering 203-204 Fll Semester First Midterm Exmintion ) Design DFA for ll strings over the lphet Σ = {,, c} in which there is no, no nd no cc. 2) Wht lnguge does

More information

Anatomy of a Deterministic Finite Automaton. Deterministic Finite Automata. A machine so simple that you can understand it in less than one minute

Anatomy of a Deterministic Finite Automaton. Deterministic Finite Automata. A machine so simple that you can understand it in less than one minute Victor Admchik Dnny Sletor Gret Theoreticl Ides In Computer Science CS 5-25 Spring 2 Lecture 2 Mr 3, 2 Crnegie Mellon University Deterministic Finite Automt Finite Automt A mchine so simple tht you cn

More information

Non-Deterministic Finite Automata. Fall 2018 Costas Busch - RPI 1

Non-Deterministic Finite Automata. Fall 2018 Costas Busch - RPI 1 Non-Deterministic Finite Automt Fll 2018 Costs Busch - RPI 1 Nondeterministic Finite Automton (NFA) Alphbet ={} q q2 1 q 0 q 3 Fll 2018 Costs Busch - RPI 2 Nondeterministic Finite Automton (NFA) Alphbet

More information

CS 373, Spring Solutions to Mock midterm 1 (Based on first midterm in CS 273, Fall 2008.)

CS 373, Spring Solutions to Mock midterm 1 (Based on first midterm in CS 273, Fall 2008.) CS 373, Spring 29. Solutions to Mock midterm (sed on first midterm in CS 273, Fll 28.) Prolem : Short nswer (8 points) The nswers to these prolems should e short nd not complicted. () If n NF M ccepts

More information

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. Comparing DFAs and NFAs (cont.) Finite Automata 2

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. Comparing DFAs and NFAs (cont.) Finite Automata 2 CMSC 330: Orgniztion of Progrmming Lnguges Finite Automt 2 Types of Finite Automt Deterministic Finite Automt () Exctly one sequence of steps for ech string All exmples so fr Nondeterministic Finite Automt

More information

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. NFA for (a b)*abb.

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. NFA for (a b)*abb. CMSC 330: Orgniztion of Progrmming Lnguges Finite Automt 2 Types of Finite Automt Deterministic Finite Automt () Exctly one sequence of steps for ech string All exmples so fr Nondeterministic Finite Automt

More information

NFAs and Regular Expressions. NFA-ε, continued. Recall. Last class: Today: Fun:

NFAs and Regular Expressions. NFA-ε, continued. Recall. Last class: Today: Fun: CMPU 240 Lnguge Theory nd Computtion Spring 2019 NFAs nd Regulr Expressions Lst clss: Introduced nondeterministic finite utomt with -trnsitions Tody: Prove n NFA- is no more powerful thn n NFA Introduce

More information

Compiler Design. Fall Lexical Analysis. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Compiler Design. Fall Lexical Analysis. Sample Exercises and Solutions. Prof. Pedro C. Diniz University of Southern Cliforni Computer Science Deprtment Compiler Design Fll Lexicl Anlysis Smple Exercises nd Solutions Prof. Pedro C. Diniz USC / Informtion Sciences Institute 4676 Admirlty Wy, Suite

More information

1 From NFA to regular expression

1 From NFA to regular expression Note 1: How to convert DFA/NFA to regulr expression Version: 1.0 S/EE 374, Fll 2017 Septemer 11, 2017 In this note, we show tht ny DFA cn e converted into regulr expression. Our construction would work

More information

CISC 4090 Theory of Computation

CISC 4090 Theory of Computation 9/6/28 Stereotypicl computer CISC 49 Theory of Computtion Finite stte mchines & Regulr lnguges Professor Dniel Leeds dleeds@fordhm.edu JMH 332 Centrl processing unit (CPU) performs ll the instructions

More information

Converting Regular Expressions to Discrete Finite Automata: A Tutorial

Converting Regular Expressions to Discrete Finite Automata: A Tutorial Converting Regulr Expressions to Discrete Finite Automt: A Tutoril Dvid Christinsen 2013-01-03 This is tutoril on how to convert regulr expressions to nondeterministic finite utomt (NFA) nd how to convert

More information

Assignment 1 Automata, Languages, and Computability. 1 Finite State Automata and Regular Languages

Assignment 1 Automata, Languages, and Computability. 1 Finite State Automata and Regular Languages Deprtment of Computer Science, Austrlin Ntionl University COMP2600 Forml Methods for Softwre Engineering Semester 2, 206 Assignment Automt, Lnguges, nd Computility Smple Solutions Finite Stte Automt nd

More information

Non-deterministic Finite Automata

Non-deterministic Finite Automata Non-deterministic Finite Automt Eliminting non-determinism Rdoud University Nijmegen Non-deterministic Finite Automt H. Geuvers nd T. vn Lrhoven Institute for Computing nd Informtion Sciences Intelligent

More information

CS 301. Lecture 04 Regular Expressions. Stephen Checkoway. January 29, 2018

CS 301. Lecture 04 Regular Expressions. Stephen Checkoway. January 29, 2018 CS 301 Lecture 04 Regulr Expressions Stephen Checkowy Jnury 29, 2018 1 / 35 Review from lst time NFA N = (Q, Σ, δ, q 0, F ) where δ Q Σ P (Q) mps stte nd n lphet symol (or ) to set of sttes We run n NFA

More information

Lexical Analysis Part III

Lexical Analysis Part III Lexicl Anlysis Prt III Chpter 3: Finite Automt Slides dpted from : Roert vn Engelen, Florid Stte University Alex Aiken, Stnford University Design of Lexicl Anlyzer Genertor Trnslte regulr expressions to

More information

State Minimization for DFAs

State Minimization for DFAs Stte Minimiztion for DFAs Red K & S 2.7 Do Homework 10. Consider: Stte Minimiztion 4 5 Is this miniml mchine? Step (1): Get rid of unrechle sttes. Stte Minimiztion 6, Stte is unrechle. Step (2): Get rid

More information

Non-deterministic Finite Automata

Non-deterministic Finite Automata Non-deterministic Finite Automt From Regulr Expressions to NFA- Eliminting non-determinism Rdoud University Nijmegen Non-deterministic Finite Automt H. Geuvers nd J. Rot Institute for Computing nd Informtion

More information

Automata Theory 101. Introduction. Outline. Introduction Finite Automata Regular Expressions ω-automata. Ralf Huuck.

Automata Theory 101. Introduction. Outline. Introduction Finite Automata Regular Expressions ω-automata. Ralf Huuck. Outline Automt Theory 101 Rlf Huuck Introduction Finite Automt Regulr Expressions ω-automt Session 1 2006 Rlf Huuck 1 Session 1 2006 Rlf Huuck 2 Acknowledgement Some slides re sed on Wolfgng Thoms excellent

More information

ɛ-closure, Kleene s Theorem,

ɛ-closure, Kleene s Theorem, DEGefW5wiGH2XgYMEzUKjEmtCDUsRQ4d 1 A nice pper relevnt to this course is titled The Glory of the Pst 2 NICTA Resercher, Adjunct t the Austrlin Ntionl University nd Griffith University ɛ-closure, Kleene

More information

Theory of Computation Regular Languages. (NTU EE) Regular Languages Fall / 38

Theory of Computation Regular Languages. (NTU EE) Regular Languages Fall / 38 Theory of Computtion Regulr Lnguges (NTU EE) Regulr Lnguges Fll 2017 1 / 38 Schemtic of Finite Automt control 0 0 1 0 1 1 1 0 Figure: Schemtic of Finite Automt A finite utomton hs finite set of control

More information

Finite Automata. Informatics 2A: Lecture 3. John Longley. 22 September School of Informatics University of Edinburgh

Finite Automata. Informatics 2A: Lecture 3. John Longley. 22 September School of Informatics University of Edinburgh Lnguges nd Automt Finite Automt Informtics 2A: Lecture 3 John Longley School of Informtics University of Edinburgh jrl@inf.ed.c.uk 22 September 2017 1 / 30 Lnguges nd Automt 1 Lnguges nd Automt Wht is

More information

More on automata. Michael George. March 24 April 7, 2014

More on automata. Michael George. March 24 April 7, 2014 More on utomt Michel George Mrch 24 April 7, 2014 1 Automt constructions Now tht we hve forml model of mchine, it is useful to mke some generl constructions. 1.1 DFA Union / Product construction Suppose

More information

CMPSCI 250: Introduction to Computation. Lecture #31: What DFA s Can and Can t Do David Mix Barrington 9 April 2014

CMPSCI 250: Introduction to Computation. Lecture #31: What DFA s Can and Can t Do David Mix Barrington 9 April 2014 CMPSCI 250: Introduction to Computtion Lecture #31: Wht DFA s Cn nd Cn t Do Dvid Mix Brrington 9 April 2014 Wht DFA s Cn nd Cn t Do Deterministic Finite Automt Forml Definition of DFA s Exmples of DFA

More information

Homework 3 Solutions

Homework 3 Solutions CS 341: Foundtions of Computer Science II Prof. Mrvin Nkym Homework 3 Solutions 1. Give NFAs with the specified numer of sttes recognizing ech of the following lnguges. In ll cses, the lphet is Σ = {,1}.

More information

Fundamentals of Computer Science

Fundamentals of Computer Science Fundmentls of Computer Science Chpter 3: NFA nd DFA equivlence Regulr expressions Henrik Björklund Umeå University Jnury 23, 2014 NFA nd DFA equivlence As we shll see, it turns out tht NFA nd DFA re equivlent,

More information

Formal Language and Automata Theory (CS21004)

Formal Language and Automata Theory (CS21004) Forml Lnguge nd Automt Forml Lnguge nd Automt Theory (CS21004) Khrgpur Khrgpur Khrgpur Forml Lnguge nd Automt Tle of Contents Forml Lnguge nd Automt Khrgpur 1 2 3 Khrgpur Forml Lnguge nd Automt Forml Lnguge

More information

Homework 4. 0 ε 0. (00) ε 0 ε 0 (00) (11) CS 341: Foundations of Computer Science II Prof. Marvin Nakayama

Homework 4. 0 ε 0. (00) ε 0 ε 0 (00) (11) CS 341: Foundations of Computer Science II Prof. Marvin Nakayama CS 341: Foundtions of Computer Science II Prof. Mrvin Nkym Homework 4 1. UsetheproceduredescriedinLemm1.55toconverttheregulrexpression(((00) (11)) 01) into n NFA. Answer: 0 0 1 1 00 0 0 11 1 1 01 0 1 (00)

More information

Finite Automata. Informatics 2A: Lecture 3. Mary Cryan. 21 September School of Informatics University of Edinburgh

Finite Automata. Informatics 2A: Lecture 3. Mary Cryan. 21 September School of Informatics University of Edinburgh Finite Automt Informtics 2A: Lecture 3 Mry Cryn School of Informtics University of Edinburgh mcryn@inf.ed.c.uk 21 September 2018 1 / 30 Lnguges nd Automt Wht is lnguge? Finite utomt: recp Some forml definitions

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Finite Automt Theory nd Forml Lnguges TMV027/DIT321 LP4 2018 Lecture 10 An Bove April 23rd 2018 Recp: Regulr Lnguges We cn convert between FA nd RE; Hence both FA nd RE ccept/generte regulr lnguges; More

More information

5. (±±) Λ = fw j w is string of even lengthg [ 00 = f11,00g 7. (11 [ 00)± Λ = fw j w egins with either 11 or 00g 8. (0 [ ffl)1 Λ = 01 Λ [ 1 Λ 9.

5. (±±) Λ = fw j w is string of even lengthg [ 00 = f11,00g 7. (11 [ 00)± Λ = fw j w egins with either 11 or 00g 8. (0 [ ffl)1 Λ = 01 Λ [ 1 Λ 9. Regulr Expressions, Pumping Lemm, Right Liner Grmmrs Ling 106 Mrch 25, 2002 1 Regulr Expressions A regulr expression descries or genertes lnguge: it is kind of shorthnd for listing the memers of lnguge.

More information

Finite-State Automata: Recap

Finite-State Automata: Recap Finite-Stte Automt: Recp Deepk D Souz Deprtment of Computer Science nd Automtion Indin Institute of Science, Bnglore. 09 August 2016 Outline 1 Introduction 2 Forml Definitions nd Nottion 3 Closure under

More information

Intermediate Math Circles Wednesday, November 14, 2018 Finite Automata II. Nickolas Rollick a b b. a b 4

Intermediate Math Circles Wednesday, November 14, 2018 Finite Automata II. Nickolas Rollick a b b. a b 4 Intermedite Mth Circles Wednesdy, Novemer 14, 2018 Finite Automt II Nickols Rollick nrollick@uwterloo.c Regulr Lnguges Lst time, we were introduced to the ide of DFA (deterministic finite utomton), one

More information

Formal languages, automata, and theory of computation

Formal languages, automata, and theory of computation Mälrdlen University TEN1 DVA337 2015 School of Innovtion, Design nd Engineering Forml lnguges, utomt, nd theory of computtion Thursdy, Novemer 5, 14:10-18:30 Techer: Dniel Hedin, phone 021-107052 The exm

More information

First Midterm Examination

First Midterm Examination 24-25 Fll Semester First Midterm Exmintion ) Give the stte digrm of DFA tht recognizes the lnguge A over lphet Σ = {, } where A = {w w contins or } 2) The following DFA recognizes the lnguge B over lphet

More information

FABER Formal Languages, Automata and Models of Computation

FABER Formal Languages, Automata and Models of Computation DVA337 FABER Forml Lnguges, Automt nd Models of Computtion Lecture 5 chool of Innovtion, Design nd Engineering Mälrdlen University 2015 1 Recp of lecture 4 y definition suset construction DFA NFA stte

More information

Theory of Computation Regular Languages

Theory of Computation Regular Languages Theory of Computtion Regulr Lnguges Bow-Yw Wng Acdemi Sinic Spring 2012 Bow-Yw Wng (Acdemi Sinic) Regulr Lnguges Spring 2012 1 / 38 Schemtic of Finite Automt control 0 0 1 0 1 1 1 0 Figure: Schemtic of

More information

CS375: Logic and Theory of Computing

CS375: Logic and Theory of Computing CS375: Logic nd Theory of Computing Fuhu (Frnk) Cheng Deprtment of Computer Science University of Kentucky 1 Tble of Contents: Week 1: Preliminries (set lgebr, reltions, functions) (red Chpters 1-4) Weeks

More information

Formal Languages and Automata

Formal Languages and Automata Moile Computing nd Softwre Engineering p. 1/5 Forml Lnguges nd Automt Chpter 2 Finite Automt Chun-Ming Liu cmliu@csie.ntut.edu.tw Deprtment of Computer Science nd Informtion Engineering Ntionl Tipei University

More information

12.1 Nondeterminism Nondeterministic Finite Automata. a a b ε. CS125 Lecture 12 Fall 2016

12.1 Nondeterminism Nondeterministic Finite Automata. a a b ε. CS125 Lecture 12 Fall 2016 CS125 Lecture 12 Fll 2016 12.1 Nondeterminism The ide of nondeterministic computtions is to llow our lgorithms to mke guesses, nd only require tht they ccept when the guesses re correct. For exmple, simple

More information

NFA DFA Example 3 CMSC 330: Organization of Programming Languages. Equivalence of DFAs and NFAs. Equivalence of DFAs and NFAs (cont.

NFA DFA Example 3 CMSC 330: Organization of Programming Languages. Equivalence of DFAs and NFAs. Equivalence of DFAs and NFAs (cont. NFA DFA Exmple 3 CMSC 330: Orgniztion of Progrmming Lnguges NFA {B,D,E {A,E {C,D {E Finite Automt, con't. R = { {A,E, {B,D,E, {C,D, {E 2 Equivlence of DFAs nd NFAs Any string from {A to either {D or {CD

More information

Harvard University Computer Science 121 Midterm October 23, 2012

Harvard University Computer Science 121 Midterm October 23, 2012 Hrvrd University Computer Science 121 Midterm Octoer 23, 2012 This is closed-ook exmintion. You my use ny result from lecture, Sipser, prolem sets, or section, s long s you quote it clerly. The lphet is

More information

Lecture 9: LTL and Büchi Automata

Lecture 9: LTL and Büchi Automata Lecture 9: LTL nd Büchi Automt 1 LTL Property Ptterns Quite often the requirements of system follow some simple ptterns. Sometimes we wnt to specify tht property should only hold in certin context, clled

More information

GNFA GNFA GNFA GNFA GNFA

GNFA GNFA GNFA GNFA GNFA DFA RE NFA DFA -NFA REX GNFA Definition GNFA A generlize noneterministic finite utomton (GNFA) is grph whose eges re lele y regulr expressions, with unique strt stte with in-egree, n unique finl stte with

More information

Let's start with an example:

Let's start with an example: Finite Automt Let's strt with n exmple: Here you see leled circles tht re sttes, nd leled rrows tht re trnsitions. One of the sttes is mrked "strt". One of the sttes hs doule circle; this is terminl stte

More information

12.1 Nondeterminism Nondeterministic Finite Automata. a a b ε. CS125 Lecture 12 Fall 2014

12.1 Nondeterminism Nondeterministic Finite Automata. a a b ε. CS125 Lecture 12 Fall 2014 CS125 Lecture 12 Fll 2014 12.1 Nondeterminism The ide of nondeterministic computtions is to llow our lgorithms to mke guesses, nd only require tht they ccept when the guesses re correct. For exmple, simple

More information

CHAPTER 1 Regular Languages. Contents. definitions, examples, designing, regular operations. Non-deterministic Finite Automata (NFA)

CHAPTER 1 Regular Languages. Contents. definitions, examples, designing, regular operations. Non-deterministic Finite Automata (NFA) Finite Automt (FA or DFA) CHAPTER Regulr Lnguges Contents definitions, exmples, designing, regulr opertions Non-deterministic Finite Automt (NFA) definitions, equivlence of NFAs DFAs, closure under regulr

More information

Review of Gaussian Quadrature method

Review of Gaussian Quadrature method Review of Gussin Qudrture method Nsser M. Asi Spring 006 compiled on Sundy Decemer 1, 017 t 09:1 PM 1 The prolem To find numericl vlue for the integrl of rel vlued function of rel vrile over specific rnge

More information

CS:4330 Theory of Computation Spring Regular Languages. Equivalences between Finite automata and REs. Haniel Barbosa

CS:4330 Theory of Computation Spring Regular Languages. Equivalences between Finite automata and REs. Haniel Barbosa CS:4330 Theory of Computtion Spring 208 Regulr Lnguges Equivlences between Finite utomt nd REs Hniel Brbos Redings for this lecture Chpter of [Sipser 996], 3rd edition. Section.3. Finite utomt nd regulr

More information

Some Theory of Computation Exercises Week 1

Some Theory of Computation Exercises Week 1 Some Theory of Computtion Exercises Week 1 Section 1 Deterministic Finite Automt Question 1.3 d d d d u q 1 q 2 q 3 q 4 q 5 d u u u u Question 1.4 Prt c - {w w hs even s nd one or two s} First we sk whether

More information

CSCI 340: Computational Models. Transition Graphs. Department of Computer Science

CSCI 340: Computational Models. Transition Graphs. Department of Computer Science CSCI 340: Computtionl Models Trnsition Grphs Chpter 6 Deprtment of Computer Science Relxing Restrints on Inputs We cn uild n FA tht ccepts only the word! 5 sttes ecuse n FA cn only process one letter t

More information

CHAPTER 1 Regular Languages. Contents

CHAPTER 1 Regular Languages. Contents Finite Automt (FA or DFA) CHAPTE 1 egulr Lnguges Contents definitions, exmples, designing, regulr opertions Non-deterministic Finite Automt (NFA) definitions, euivlence of NFAs nd DFAs, closure under regulr

More information

Worked out examples Finite Automata

Worked out examples Finite Automata Worked out exmples Finite Automt Exmple Design Finite Stte Automton which reds inry string nd ccepts only those tht end with. Since we re in the topic of Non Deterministic Finite Automt (NFA), we will

More information

1. For each of the following theorems, give a two or three sentence sketch of how the proof goes or why it is not true.

1. For each of the following theorems, give a two or three sentence sketch of how the proof goes or why it is not true. York University CSE 2 Unit 3. DFA Clsses Converting etween DFA, NFA, Regulr Expressions, nd Extended Regulr Expressions Instructor: Jeff Edmonds Don t chet y looking t these nswers premturely.. For ech

More information

2. Lexical Analysis. Oscar Nierstrasz

2. Lexical Analysis. Oscar Nierstrasz 2. Lexicl Anlysis Oscr Nierstrsz Thnks to Jens Plserg nd Tony Hosking for their kind permission to reuse nd dpt the CS132 nd CS502 lecture notes. http://www.cs.ucl.edu/~plserg/ http://www.cs.purdue.edu/homes/hosking/

More information

Closure Properties of Regular Languages

Closure Properties of Regular Languages of Regulr Lnguges Dr. Neil T. Dntm CSCI-561, Colordo School of Mines Fll 2018 Dntm (Mines CSCI-561) Closure Properties of Regulr Lnguges Fll 2018 1 / 50 Outline Introduction Closure Properties Stte Minimiztion

More information

CMSC 330: Organization of Programming Languages. DFAs, and NFAs, and Regexps (Oh my!)

CMSC 330: Organization of Programming Languages. DFAs, and NFAs, and Regexps (Oh my!) CMSC 330: Orgniztion of Progrmming Lnguges DFAs, nd NFAs, nd Regexps (Oh my!) CMSC330 Spring 2018 Types of Finite Automt Deterministic Finite Automt (DFA) Exctly one sequence of steps for ech string All

More information

Non Deterministic Automata. Linz: Nondeterministic Finite Accepters, page 51

Non Deterministic Automata. Linz: Nondeterministic Finite Accepters, page 51 Non Deterministic Automt Linz: Nondeterministic Finite Accepters, pge 51 1 Nondeterministic Finite Accepter (NFA) Alphbet ={} q 1 q2 q 0 q 3 2 Nondeterministic Finite Accepter (NFA) Alphbet ={} Two choices

More information

Lecture 09: Myhill-Nerode Theorem

Lecture 09: Myhill-Nerode Theorem CS 373: Theory of Computtion Mdhusudn Prthsrthy Lecture 09: Myhill-Nerode Theorem 16 Ferury 2010 In this lecture, we will see tht every lnguge hs unique miniml DFA We will see this fct from two perspectives

More information

CS103 Handout 32 Fall 2016 November 11, 2016 Problem Set 7

CS103 Handout 32 Fall 2016 November 11, 2016 Problem Set 7 CS103 Hndout 32 Fll 2016 Novemer 11, 2016 Prolem Set 7 Wht cn you do with regulr expressions? Wht re the limits of regulr lnguges? On this prolem set, you'll find out! As lwys, plese feel free to drop

More information

NFAs continued, Closure Properties of Regular Languages

NFAs continued, Closure Properties of Regular Languages Algorithms & Models of Computtion CS/ECE 374, Fll 2017 NFAs continued, Closure Properties of Regulr Lnguges Lecture 5 Tuesdy, Septemer 12, 2017 Sriel Hr-Peled (UIUC) CS374 1 Fll 2017 1 / 31 Regulr Lnguges,

More information

CS 330 Formal Methods and Models

CS 330 Formal Methods and Models CS 330 Forml Methods nd Models Dn Richrds, George Mson University, Spring 2017 Quiz Solutions Quiz 1, Propositionl Logic Dte: Ferury 2 1. Prove ((( p q) q) p) is tutology () (3pts) y truth tle. p q p q

More information

Speech Recognition Lecture 2: Finite Automata and Finite-State Transducers

Speech Recognition Lecture 2: Finite Automata and Finite-State Transducers Speech Recognition Lecture 2: Finite Automt nd Finite-Stte Trnsducers Eugene Weinstein Google, NYU Cournt Institute eugenew@cs.nyu.edu Slide Credit: Mehryr Mohri Preliminries Finite lphet, empty string.

More information

Kleene s Theorem. Kleene s Theorem. Kleene s Theorem. Kleene s Theorem. Kleene s Theorem. Kleene s Theorem 2/16/15

Kleene s Theorem. Kleene s Theorem. Kleene s Theorem. Kleene s Theorem. Kleene s Theorem. Kleene s Theorem 2/16/15 Models of Comput:on Lecture #8 Chpter 7 con:nued Any lnguge tht e defined y regulr expression, finite utomton, or trnsi:on grph cn e defined y ll three methods We prove this y showing tht ny lnguge defined

More information

a,b a 1 a 2 a 3 a,b 1 a,b a,b 2 3 a,b a,b a 2 a,b CS Determinisitic Finite Automata 1

a,b a 1 a 2 a 3 a,b 1 a,b a,b 2 3 a,b a,b a 2 a,b CS Determinisitic Finite Automata 1 CS4 45- Determinisitic Finite Automt -: Genertors vs. Checkers Regulr expressions re one wy to specify forml lnguge String Genertor Genertes strings in the lnguge Deterministic Finite Automt (DFA) re nother

More information

Nondeterminism. Nondeterministic Finite Automata. Example: Moves on a Chessboard. Nondeterminism (2) Example: Chessboard (2) Formal NFA

Nondeterminism. Nondeterministic Finite Automata. Example: Moves on a Chessboard. Nondeterminism (2) Example: Chessboard (2) Formal NFA Nondeterminism Nondeterministic Finite Automt Nondeterminism Subset Construction A nondeterministic finite utomton hs the bility to be in severl sttes t once. Trnsitions from stte on n input symbol cn

More information

CS103B Handout 18 Winter 2007 February 28, 2007 Finite Automata

CS103B Handout 18 Winter 2007 February 28, 2007 Finite Automata CS103B ndout 18 Winter 2007 Ferury 28, 2007 Finite Automt Initil text y Mggie Johnson. Introduction Severl childrens gmes fit the following description: Pieces re set up on plying ord; dice re thrown or

More information

CS311 Computational Structures Regular Languages and Regular Grammars. Lecture 6

CS311 Computational Structures Regular Languages and Regular Grammars. Lecture 6 CS311 Computtionl Strutures Regulr Lnguges nd Regulr Grmmrs Leture 6 1 Wht we know so fr: RLs re losed under produt, union nd * Every RL n e written s RE, nd every RE represents RL Every RL n e reognized

More information

3 Regular expressions

3 Regular expressions 3 Regulr expressions Given n lphet Σ lnguge is set of words L Σ. So fr we were le to descrie lnguges either y using set theory (i.e. enumertion or comprehension) or y n utomton. In this section we shll

More information

Thoery of Automata CS402

Thoery of Automata CS402 Thoery of Automt C402 Theory of Automt Tle of contents: Lecture N0. 1... 4 ummry... 4 Wht does utomt men?... 4 Introduction to lnguges... 4 Alphets... 4 trings... 4 Defining Lnguges... 5 Lecture N0. 2...

More information

Model Reduction of Finite State Machines by Contraction

Model Reduction of Finite State Machines by Contraction Model Reduction of Finite Stte Mchines y Contrction Alessndro Giu Dip. di Ingegneri Elettric ed Elettronic, Università di Cgliri, Pizz d Armi, 09123 Cgliri, Itly Phone: +39-070-675-5892 Fx: +39-070-675-5900

More information

80 CHAPTER 2. DFA S, NFA S, REGULAR LANGUAGES. 2.6 Finite State Automata With Output: Transducers

80 CHAPTER 2. DFA S, NFA S, REGULAR LANGUAGES. 2.6 Finite State Automata With Output: Transducers 80 CHAPTER 2. DFA S, NFA S, REGULAR LANGUAGES 2.6 Finite Stte Automt With Output: Trnsducers So fr, we hve only considered utomt tht recognize lnguges, i.e., utomt tht do not produce ny output on ny input

More information

Tutorial Automata and formal Languages

Tutorial Automata and formal Languages Tutoril Automt nd forml Lnguges Notes for to the tutoril in the summer term 2017 Sestin Küpper, Christine Mik 8. August 2017 1 Introduction: Nottions nd sic Definitions At the eginning of the tutoril we

More information

Name Ima Sample ASU ID

Name Ima Sample ASU ID Nme Im Smple ASU ID 2468024680 CSE 355 Test 1, Fll 2016 30 Septemer 2016, 8:35-9:25.m., LSA 191 Regrding of Midterms If you elieve tht your grde hs not een dded up correctly, return the entire pper to

More information

CS 311 Homework 3 due 16:30, Thursday, 14 th October 2010

CS 311 Homework 3 due 16:30, Thursday, 14 th October 2010 CS 311 Homework 3 due 16:30, Thursdy, 14 th Octoer 2010 Homework must e sumitted on pper, in clss. Question 1. [15 pts.; 5 pts. ech] Drw stte digrms for NFAs recognizing the following lnguges:. L = {w

More information

Lecture 3: Equivalence Relations

Lecture 3: Equivalence Relations Mthcmp Crsh Course Instructor: Pdric Brtlett Lecture 3: Equivlence Reltions Week 1 Mthcmp 2014 In our lst three tlks of this clss, we shift the focus of our tlks from proof techniques to proof concepts

More information

CSE396 Prelim I Answer Key Spring 2017

CSE396 Prelim I Answer Key Spring 2017 Nme nd St.ID#: CSE96 Prelim I Answer Key Spring 2017 (1) (24 pts.) Define A to e the lnguge of strings x {, } such tht x either egins with or ends with, ut not oth. Design DFA M such tht L(M) = A. A node-rc

More information

CS 275 Automata and Formal Language Theory

CS 275 Automata and Formal Language Theory CS 275 Automt nd Forml Lnguge Theory Course Notes Prt II: The Recognition Problem (II) Chpter II.6.: Push Down Automt Remrk: This mteril is no longer tught nd not directly exm relevnt Anton Setzer (Bsed

More information

Table of contents: Lecture N Summary... 3 What does automata mean?... 3 Introduction to languages... 3 Alphabets... 3 Strings...

Table of contents: Lecture N Summary... 3 What does automata mean?... 3 Introduction to languages... 3 Alphabets... 3 Strings... Tle of contents: Lecture N0.... 3 ummry... 3 Wht does utomt men?... 3 Introduction to lnguges... 3 Alphets... 3 trings... 3 Defining Lnguges... 4 Lecture N0. 2... 7 ummry... 7 Kleene tr Closure... 7 Recursive

More information

CS375: Logic and Theory of Computing

CS375: Logic and Theory of Computing CS375: Logic nd Theory of Computing Fuhu (Frnk) Cheng Deprtment of Computer Science University of Kentucky 1 Tle of Contents: Week 1: Preliminries (set lger, reltions, functions) (red Chpters 1-4) Weeks

More information

Coalgebra, Lecture 15: Equations for Deterministic Automata

Coalgebra, Lecture 15: Equations for Deterministic Automata Colger, Lecture 15: Equtions for Deterministic Automt Julin Slmnc (nd Jurrin Rot) Decemer 19, 2016 In this lecture, we will study the concept of equtions for deterministic utomt. The notes re self contined

More information