0

次のプログラムを実行しようとしていますが、認識されないルールが表示されます: 37. 37 行目でエラーが発生する理由がわかりません。

コマンド: $ lex mycsv2html.l

%{                      //Definition Section 

#include <stdin.h>                         
#include <stdout.h>
int c;
extern int yylval;
%}


%%                      // Rule Section
" "       ;
[\n]     {
            c = yytext[0];
            yylval = c - '\n';
            return(br);
          }
["]     {
            c = yytext[0];
            yylval = c - '';
            return('');
          }
[<]     {
            c = yytext[0];
            yylval = c - '';
            return('&lt');
          }

[>]     {
            c = yytext[0];
            yylval = c - '';
            return('&gt');
          }

int main(void)                            //C Code Section
{
    /* Call the lexer, then quit. */
    yylex();
    return 0;
}
4

1 に答える 1

0

%%2 番目の部分 (ルール) と 3 番目の部分 (C コード) の間に追加する必要があります。

.....
[>]     {
        c = yytext[0];
        yylval = c - '';
        return('&gt');
      }

%% // HERE

int main(void)                            //C Code Section
.....
于 2013-05-19T01:35:07.710 に答える