使用JFLEX从eof访问命令行参数

时间:2018-02-11 19:46:58

标签: java jflex

我正在编写一个小型词法分析器,需要将一些输出写入文件。一旦我完成扫描即时创建输出文件 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访问命令行参数?

1 个答案:

答案 0 :(得分:1)

问题出在%standalone选项上。它正在生成一个主要方法,自动将argv列表放在范围之外。

删除此选项并定义我自己的main方法可以解决问题,但我还必须定义自己的文件阅读器并以这种方式处理错误