0
我正在使用JLex作为我们的最新作业,尝试为教授给我们的语言生成扫描仪。JLex扫描仪生成
在这一点上,我有以下书面 - 假设关键字和标识符规则对我们正在使用的语言是正确的。
import java.io.*;
%%
%{
public static void main(String argv[]) throws java.io.IOException
{
MyLexer yy= new MyLexer(new FileReader("input"));
while(yy.yylex() >= 0);
}
%}
%integer
%class MyLexer
INT =int
KEYWORDS =IF|ELSE|WRITE|READ|RETURN|BEGIN|END|MAIN|INT|REAL
IDENTIFIER =[a-zA-Z_][a-zA-Z0-9_]*
%state COMMENT
%%
{KEYWORDS}
{
System.out.println("keyword is .. " + yytext());
}
{IDENTIFIER}
{
System.out.println("ID is .." + yytext());
}
\r\n|.|\n {}
谁能给出某种暗示或建议,就如何: 1.检测评论 2.计数(在/ * * /格式)的标识符,关键字的每次出现,等
谢谢,我想知道这样的事情。 JLex把我搞糊涂了,你可以在哪里做Java,哪里做不到,但我想这很有道理。 至于评论,我想你提到的状态可能是目标。这不一定是主要任务,但它是“棘手”的部分之一,所以你不远处。我会研究各州,谢谢! – muttley91 2011-03-01 03:51:30