# TRANSITION DIAGRAM BASED LEXICAL ANALYZER and FINITE AUTOMATA - PowerPoint PPT Presentation

1 / 14

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

TRANSITION DIAGRAM BASED LEXICAL ANALYZER and FINITE AUTOMATA

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

## TRANSITION DIAGRAM BASED LEXICAL ANALYZERandFINITE 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

State Transition Machine 3

Lex Compiler

pattern1 pattern 2 pattern 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

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

Approach 2 :

Parallel simulation

• Simulate all transition diagrams in parallel

• The machine stops when no match is found

Lex compiler

generate state transition machines

Pattern : Define based on regular expression

Pattern

C Compiler

a.out

tokens

Source code

a.out

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)

### 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

• Given an input a, NFA allows to go from one state to a multiple state

a

a

• ϵ-transition is allowed

ϵ

### 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)

### More on DFA

• No ϵ-transition is allowed

• For a given input a, DFA allows to moves from one state to a single state

a

### 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

Algorithm :

s=so ;

//character

while(c!=‘\0’)

{

s=detect(s,c);