Lex - Как запустить / скомпилировать программу lex из командной строки

Я новичок в Lex и Yacc. У меня есть программа Лекса. Пример: wordcount.l

Я использую окна и шпатлевку.

Я просто пытаюсь запустить этот файл ..

  1. Сохраняется ли файл wordcount.l на диске C?

  2. Компилирую ли я программу 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);
}

В замазке, как мне скомпилировать и запустить эту программу?

6
задан Farshid 11 November 2015 в 07:01
поделиться