2009-11-25 2 views
9

Ich speichere die Argumente, die an main in yacc übergeben werden, in einer Datei. Jetzt möchte ich, dass die Lex ihre Eingabe aus dieser Datei statt vom Terminal liest. Ich weiß, ich kann yyin auf eine Datei wie yyin = fopen("fn","r"); zeigen, aber das funktioniert nur, wenn main in Lex ist. Wenn ich diese yyin-Deklaration in main in yacc verwende, wird ein Fehler angezeigt. Bitte schlagen Sie daher etwas vor, um dieses Problem zu beheben.in Lex, wie yyin auf eine Datei mit der Hauptfunktion in yacc zeigen?

Antwort

23

Sie wahrscheinlich brauchen nur

extern FILE * yyin; 

zu erklären Wenn das das Problem nicht lösen, geben Sie bitte die Fehlermeldung Sie.

+0

danke Kumpel, es hat funktioniert ... – ajai

Verwandte Themen