%{
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
extern FILE *yyin;
int wert1;
int wert2;
void tausche(wert1,wert2)
{
int tausche=0;
printf("\ntausche:%d\n\n",tausche);
printf("wert1:%d\n",wert1);
printf("wert2:%d\n\n",wert2);
tausche=wert1;
wert1=wert2;
wert2=tausche;
printf("nach dem tauschen\n");
printf("wert1:%d\n",wert1);
printf("wert2:%d\n",wert2);
}
void yyerror(const char *str)
{
printf("\tFehler aufgetreten!\n");
}
int yywrap()
{
return 1;
}
main(int argc, char *argv[])
{
FILE *test = fopen("new.txt","r");
yyin = test;
printf("ENDE\n");
}
%}
%token NUMBER STATE STATUS TAUSCHE
%%
commands: /* empty */
| commands command
;
command: /* empty */
status_set
|
tausche_set
;
tausche_set:
TAUSCHE NUMBER NUMBER
{
tausche($2,$3);
}
;
status_set:
STATUS
{
printf("\talles ok\n");
}
;
%%