Я новичок в Lex и Yacc. У меня есть программа Лекса. Пример: wordcount.l
Я использую окна и шпатлевку.
Я просто пытаюсь запустить этот файл ..
Сохраняется ли файл wordcount.l
на диске C?
Компилирую ли я программу Lex, и она генерирует .c
, а потом что мне запускать?
Я пробовал использовать командную строку: Lex wordcount.l
, но получаю, что файл не найден ...
wordcount.l
%{
#include <stdlib.h>
#include <stdio.h>
int charCount=0;
int wordCount=0;
int lineCount=0;
%}
%%
\n {charCount++; lineCount++;}
[^ \t\n]+ {wordCount++; charCount+=yyleng;}
. {charCount++;}
%%
main(argc, argv)
int argc;
char** argv;
{
if (argc > 1)
{
FILE *file;
file = fopen(argv[1], "r");
if (!file)
{
fprintf(stderr, "Could not open %s\n", argv[1]);
exit(1);
}
yyin = file;
}
yylex();
printf("%d %d %d\n", charCount, wordCount, lineCount);
}
В замазке, как мне скомпилировать и запустить эту программу?