analizor lex

2
int stare = 0; char c; void stateMachine() { switch(stare){ case 0: if(isupper(c)) stare=1; else stare=9; break; case 1: if(islower(c)) stare=2; else stare=9; break; case 2: if(c==' ') stare=3; else if(islower(c)) stare = 2; else stare = 9; break; case 3: if(isupper(c)) stare = 4; else stare=9; break; case 4: if(islower(c)) stare = 5; else stare=9; break; case 5: if(islower(c)) stare = 5; else if(c=='-') stare = 6; else return; break; case 6: if(isupper(c)) stare = 7; else stare=9; break; case 7: if(islower(c)) stare = 8; else stare=9; break; case 8: if(islower(c)) stare = 8; else return; break; case 9: printf("Eroare magica!"); stare=0; break; } }

Upload: luca-gabriela-ecaterina

Post on 17-Jan-2016

213 views

Category:

Documents


0 download

DESCRIPTION

Analizor Lex

TRANSCRIPT

Page 1: Analizor Lex

int stare = 0;char c;

void stateMachine(){

switch(stare){case 0:

if(isupper(c)) stare=1;else stare=9;

break;case 1:

if(islower(c)) stare=2;else stare=9;

break;case 2:

if(c==' ') stare=3;else if(islower(c)) stare = 2;else stare = 9;

break;case 3:

if(isupper(c)) stare = 4;else stare=9;

break;case 4:

if(islower(c)) stare = 5;else stare=9;

break;case 5:

if(islower(c)) stare = 5;else if(c=='-') stare = 6;else return;

break;case 6:

if(isupper(c)) stare = 7;else stare=9;

break;case 7:

if(islower(c)) stare = 8;else stare=9;

break;case 8:

if(islower(c)) stare = 8;else return;

break;case 9:

printf("Eroare magica!"); stare=0;

break;}

}