0
%{
#include <stdio.h>
#include <string.h>

void yyerror(const char *str)
{
        fprintf(stderr,"error: %s\n",str);
}

int yywrap()
{
        return 1;
}

int main()
{
        yyparse();
}
%}

%token TOKMACHINE TOKLOGIN TOKPASSWORD VALUE SPACE NEWLINE
input: auth input | input;
delim: SPACE | NEWLINE;
auth: TOKMACHINE delim VALUE delim TOKLOGIN delim  VALUE delim  TOKPASSWORD delim VALUE delim
{
    printf("Found auth {%s,%s,%s}", $1,$3,$5);
};

.netrcこれは、ファイルを解析したい単純なバイソン文法です。しかし、私はinputオンラインでエラーが発生します:

netrc.y:23.1-5: syntax error, unexpected identifier:

私は Flex/Bison を初めて使用しますが、この例はhereからのリテラル コピーに近いものです

4

2 に答える 2

2

%%区切り文字が欠落しているようです。それを作る

%}
%token ...

%%
input : ...
于 2012-08-24T18:38:22.897 に答える