0
digit [0-9]
letter [A-Za-z]
%{
int count;
%}
%%
/* match identifier */
{letter}({letter}|{digit})* count++;
%%
int main(void) {
yylex();
printf("number of identifiers = %d\n", count);
return 0;
}
Funktioniert nicht printf Anweisung. können Sie erklären, was ich in diesem Code einschließen sollte.Warum zeigt der folgende Flex-Code keine Ausgabe?
beendet das Programm korrekt? – Jack
Nein endet nicht. –
Willkommen bei Stack Overflow. Bitte lesen Sie in Kürze die Abschnitte [Info] und [Fragen] und noch dringlicher, wie Sie ein MCVE ([MCVE]) erstellen können. Sie haben einen Code zur Verfügung gestellt, der gut ist. Sie haben weder die Eingabedaten noch die Art der Bereitstellung der Daten für das Programm beschrieben. Ihre Erklärung "printf-Anweisung funktioniert nicht" ist nicht hilfreich. Sie sollten deutlicher sein, was Sie beobachten. Beachten Sie auch, dass [tag: flex] nicht identisch mit [tag: flex-lexer] ist - und dass letzteres das richtige für den Flex lexical analyzer (oder Lexer) ist. Das andere Tag ist für die Adobe-Websprache Flex. –