, , , . , : , , , . , , .., , . , . - (-), A a, A Î VN,
a Î (VT È VN) *. , , ; , - .
, - , , . ( ) , .
([3]), - n cn3 ( --) cn2 ( ). , , .
, , -. .
: G =({a,b,c, ^}, {S,A,B}, P, S),
P: S AB^
A a | cA
B bA
, caba L(G).
:
S AB^ cAB^ caB^ cabA^ caba^
, L(G).
" ":
(-) " ": , ; - , . , , , , . , . : , . , , .
|
|
:
G = ({a,b,c,^}, {S,A,B}, P, S),
P: S AB^
A a | cA
B bA
:
#include <stdio.h>
int c;
FILE *fp;/* , - */
void A();
void B();
void ERROR(); /* */
void S() {A(); B();
if (c!= '^') ERROR();
}
void A() {if (c=='a') c = fgetc(fp);
else if (c == 'c') {c = fgetc(fp); A();}
else ERROR();
}
void B() {if (c == 'b') {c = fgetc(fp); A();}
else ERROR();
}
void ERROR() {printf("ERROR!!!\n"); exit(1);}
main() {fp = fopen("data","r");
c = fgetc(fp);
S();
printf("SUCCESS!!!\n"); exit(0);
}