jFlex错误:类抛出java.io.IOException

时间:2013-04-02 20:08:08

标签: java lexical-analysis jflex

我写了一个非常简单的文件,其中包含如下所示的规范来标记单词:

%%
%class Lexer
%unicode

WORD = [^\r\n\t ]

%%
{WORD}  {System.out.println("Word is:"+yytext());}

.       {System.out.println("Bad character: "+ yytext());}

以下是我运行的命令:

jflex hindi.jlex
javac Lexer.java

我收到以下错误:

Lexer.java:442: cannot find symbol
symbol  : class Yytoken
location: class Lexer
  public Yytoken yylex() throws java.io.IOException {
     ^
1 error

任何帮助表示感谢。

另外,我检查了Lexer.java文件,其中没有main个功能。这是造成这个错误的原因。

2 个答案:

答案 0 :(得分:3)

如果你想检查lexer standalone(没有解析器),那么将以下内容添加到用户代码部分:

%standalone

答案 1 :(得分:1)

使用byaccj并收到此错误的人应该在%byaccj

下面添加%standalone行而不是%class Lexer