, .
, ( , , ). ( , , ).
( ) - , ( , ).
. , , ; , .
. , , .
, , , , , , . , .
() , , ( , ).
, () . Q, ( ). q0, , F .
∑, . Q*Σ δ, Q . (Q, ∑, δ, q0, F) ().
, , : , , , , , .
. , . , , , , .
|
|
, , (.. - , , ). , , .
, , , - . , , , .
, , , . .
, , () ε-( ), . , . , , .. , , .
p
- , p p p , - , p .
p , p p , , p --- , .
pp, pp p pp:
id::= <y>{p|y}
( y, p y p, , p yp ).
y pp :
y , <y>, <p> <py> - y , (.. a,b,c,d,e... .., <p> -- 1,2,3,4,5,6,7,8,9,0, <py> - ).
pppy . y:
/* p */
#define STATE_1 1
#define STATE_2 2
....
#define STATE_N N
int state; /* p y */
char symbol; /* , p */
..
main() {
FILE * input;
..
input = fopen("Input_file");
/* p pp */
while(! feof(input)) {
c = fgetc(input);
switch (state) { /* p yy y */
case STATE_1:
switch(c) { /* p yy py */
case 'a':
do_some_action(); /* ,
*/
state = STATE_2; /* p */
|
|
break;
case 'b':
...
} /* end switch */
case STATE_2:
...
} /* end switch */
} /* end while */
fclose(input);
..
} /* end main */
. , , , . . . , , , . : . , , ( ). , : .
. . ( ) . . , . .
, . . .
, , . . , .
, : . , , , , , . .
.