%{ /* In der Vorlesung am 03.12.2007 gemeinsam erstellte Loesung fuer die * Erkennung von korrekten Klammerausdruecken mit lex und yacc. */ #include void yyerror(char *); %} %token BUCHSTABE %% klammerausdruck: '(' klammerausdruck ')' | '[' klammerausdruck ']' | '{' klammerausdruck '}' | '<' klammerausdruck '>' | BUCHSTABE | klammerausdruck klammerausdruck | /* leer */ ; %% void yyerror(char *msg) { } int main() { printf("Wie sieht der Klammerausdruck aus, Sir? "); if(yyparse() == 0) printf("Er ist korrekt, Sir!\n"); else printf("Er ist *nicht* korrekt, Sir!\n"); return 0; }