我正在编写一个小型词法分析器,需要将一些输出写入文件。一旦我完成扫描即时创建输出文件
PrintWriter writer = new PrintWriter(args[0].substring(0,4)+"output.txt");
所以基本上我试图使用输入文件的前缀作为输出的前缀。该声明位于%eof{ %eof}
error: cannot find symbol
PrintWriter writer = new PrintWriter(args[0].substring(0,4)+"output.txt");
^
symbol: variable args
location: class classname
然而,我无法从eof部分看到args。如何从jflex中的eof
访问命令行参数?
答案 0 :(得分:1)
问题出在%standalone
选项上。它正在生成一个主要方法,自动将argv列表放在范围之外。
删除此选项并定义我自己的main方法可以解决问题,但我还必须定义自己的文件阅读器并以这种方式处理错误