Aman Deep Gautam Aman Deep Gautam - 5 months ago 14
Java Question

jFlex error: class throws java.io.IOException

I have written a very simple file with specification shown below to to tokenize words:

%%
%class Lexer
%unicode

WORD = [^\r\n\t ]

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

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


The following are the commands I run:

jflex hindi.jlex
javac Lexer.java


I get the following error:

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


Any help appreciated.

On a additional note I checked the
Lexer.java
file and there was no
main
function in it. Is that the reason for this error.

Answer

If you want to check the lexer standalone(without a parser) then add the following to the user code section:

%standalone