and FINITE AUTOMATA Class date 12 August 2013 Prepared by Karimgailiu R Panmei Roll no 11CS10020 GROUP NO 9 Stream of input characters source State Transition Machine 1 ID: 218387
Download Presentation The PPT/PDF document "TRANSITION DIAGRAM BASED LEXICAL ANALYZE..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
TRANSITION DIAGRAM BASED LEXICAL ANALYZERandFINITE AUTOMATA
Class date : 12 August, 2013
Prepared by :
Karimgailiu
R
Panmei
Roll no. : 11CS10020
GROUP NO. : 9Slide2
Stream of input characters (source)
State Transition Machine 1
State Transition Machine 2
State Transition Machine 3
Token
Lex
Compiler
p
attern1 pattern 2 pattern 3 Slide3
Simulating the transition machines :
Input string :
x1,
x2 ,x 3 …… x n
Scan the input using forward pointerMachine accepts or rejects based on the transition functionMatch the longest prefix of the inputIf accepted, token is producedSlide4
Two approach to simulate the machine :
Approach 1
:
Sequential simulationSequentially simulate the transition machinesIf the previous machine fails, reset the forward pointerStart the next transition machineSlide5
Approach 2 :
Parallel simulation
Simulate all transition diagrams in parallel
The machine stops when no match is foundSlide6
Pattern
: Define based on regular expression
Lex
compiler
C Compiler
a.out
Pattern
a.out
Source code
tokens
generate state transition machines
NFA : Advantage
DFA : advantageSlide7
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)Slide8
NFA
Definition :
N={
Σ
, S, so ,
F, Δ}where Σ : set of input symbol
S : finite set of statesso : start stateF : finite set of final states
Δ : transition function (S × Σ → P(
S)) where P(S) is the power set of SSlide9
More about NFA
Given an input a, NFA allows to go from one state to a multiple state
a
aϵ-transition is allowed ϵ Slide10
DFA
Definition :
D
={
Σ, S, so ,
f, δ}where
Σ : set of input symbolS : finite set of statesso : start state
F : finite set of final states δ : transition function (δ : S × Σ →
S)Slide11
More on DFA
No ϵ-transition is allowed
For a given input a, DFA allows to moves from one state to a single state
aSlide12
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 Slide13
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; Slide14
THE END