1 / 14

TRANSITION DIAGRAM BASED LEXICAL ANALYZER and FINITE AUTOMATA

TRANSITION DIAGRAM BASED LEXICAL ANALYZER and FINITE AUTOMATA. Class date : 12 August, 2013 Prepared by : Karimgailiu R Panmei Roll no. : 11CS10020 GROUP NO. : 9. State Transition Machine 1. Stream of input characters (source). State Transition Machine 2. Token.

elroy
Download Presentation

TRANSITION DIAGRAM BASED LEXICAL ANALYZER and FINITE AUTOMATA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TRANSITION DIAGRAM BASED LEXICAL ANALYZERandFINITE AUTOMATA Class date : 12 August, 2013 Prepared by : Karimgailiu R Panmei Roll no. : 11CS10020 GROUP NO. : 9

  2. State Transition Machine 1 Stream of input characters (source) State Transition Machine 2 Token State Transition Machine 3 Lex Compiler pattern1 pattern 2 pattern 3

  3. Simulating the transition machines : Input string : x1,x2 ,x3 …… x n • Scan the input using forward pointer • Machine accepts or rejects based on the transition function • Match the longest prefix of the input • If accepted, token is produced

  4. Two approach to simulate the machine : Approach 1 : Sequential simulation • Sequentially simulate the transition machines • If the previous machine fails, reset the forward pointer • Start the next transition machine

  5. Approach 2 : Parallel simulation • Simulate all transition diagrams in parallel • The machine stops when no match is found

  6. Lex compiler generate state transition machines NFA : Advantage Pattern : Define based on regular expression Pattern C Compiler a.out tokens Source code a.out DFA : advantage

  7. FINITE AUTOMATA • Recognize regular languages • Accepts or rejects a possible input string • Two types : 1. Non deterministic finite automata(NFA) 2. Deterministic finite automata(DFA)

  8. NFA Definition : N={ Σ, S, so , F, Δ} where Σ : set of input symbol S : finite set of states so : start state F : finite set of final states Δ : transition function (S × Σ → P(S)) where P(S) is the power set of S

  9. More about NFA • Given an input a, NFA allows to go from one state to a multiple state a a • ϵ-transition is allowed ϵ

  10. DFA Definition : D={ Σ, S, so , f, δ} where Σ : set of input symbol S : finite set of states so : start state F : finite set of final states δ : transition function (δ : S × Σ → S)

  11. More on DFA • No ϵ-transition is allowed • For a given input a, DFA allows to moves from one state to a single state a

  12. Simulating DFA Input : - a string x - DFA with start state so , accepting states F and transition function detect Output : “yes” if accepts and “no” if rejects

  13. Algorithm : s=so ; c= read_next_char(); //read_next_char() returns the next //character while(c!=‘\0’) { s=detect(s,c); c=read_next_char(); } if(s ϵ F) return yes; else return no;

  14. THE END

More Related