我写了一个非常简单的文件,其中包含如下所示的规范来标记单词:
%%
%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
个功能。这是造成这个错误的原因。
答案 0 :(得分:3)
如果你想检查lexer standalone(没有解析器),那么将以下内容添加到用户代码部分:
%standalone
答案 1 :(得分:1)
使用byaccj并收到此错误的人应该在%byaccj
行
%standalone
行而不是%class Lexer