Как использовать myname2.lex в примерах flex? - PullRequest
0 голосов
/ 09 февраля 2019

Я вижу следующий пример в гибких примерах.Я могу скомпилировать это.Но я не уверен, какой вклад я должен дать этому.Кто-нибудь может дать мне знать?Спасибо.

/*
 * myname2.lex : A sample Flex program
 *               that does token replacement.                      
 */

%{
#include <stdio.h>
%}

%x STRING
%%
\"                ECHO; BEGIN(STRING); 
<STRING>[^\"\n]*  ECHO;
<STRING>\"        ECHO; BEGIN(INITIAL);

%NAME     { printf("%s",getenv("LOGNAME")); }
%HOST     { printf("%s",getenv("HOST"));    }
%HOSTTYPE { printf("%s",getenv("HOSTTYPE"));}
%HOME     { printf("%s",getenv("HOME"));    }

1 Ответ

0 голосов
/ 09 февраля 2019

Правила %NAME, %HOST, %HOSTTYPE и %HOME соответствуют этим точным строкам соответственно.Таким образом, вы можете ввести их и посмотреть, как выполняются их соответствующие действия.

Вы также можете ввести одно из них, заключенное в кавычки (например, "%HOST"), и заметить, что его действие не будет выполнено, потому что все это выглядит какстроковый литерал.

...