使用Flex编译器时的编译问题

问题描述

我有这个文件,需要使用flex编译器进行编译,但是当我使用flex file.c进行编译时,出现此错误,我不太清楚这是什么意思

%{
int _numargs = 10;
char *_args[10];
int _argcount = 0;
%}

WORD    [a-zA-Z0-9\/\.-]+
SPECIAL [()><|&;*]

%%
    _argcount = 0; 
    _args[0] = NULL; 

{WORD}|{SPECIAL} {  
      if(_argcount < _numargs-1) {
        _args[_argcount++] = (char *)strdup(yytext);
        _args[_argcount] = NULL;
      }
    }

\n  return (int)_args;

[ \t]+

.

%%

char **getline() {
  return (char **)yylex();
}

当我使用flex filename.c进行编译时,这是我在代码中遇到的错误

lex.c:10: unrecognized '%' directive
lex.c:14: bad character: {
lex.c:14: unkNown error processing section 1
lex.c:14: unkNown error processing section 1
lex.c:14: bad character: }
lex.c:14: bad character: |
lex.c:14: bad character: {
lex.c:14: unkNown error processing section 1
lex.c:14: bad character: }
lex.c:14: bad character: {
lex.c:19: bad character: }
lex.c:21: bad character: \
lex.c:21: unkNown error processing section 1
lex.c:21: unkNown error processing section 1
lex.c:21: bad character: (
lex.c:21: unkNown error processing section 1
lex.c:21: bad character: )
lex.c:21: unkNown error processing section 1
lex.c:21: bad character: ;
lex.c:23: bad character: [
lex.c:23: bad character: \
lex.c:23: unkNown error processing section 1
lex.c:23: bad character: ]
lex.c:23: bad character: +
lex.c:25: bad character: .

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)