我需要使用JavaCC上的Tokens语法编写TXT文件
例如:(我的代码..)
PARSER_BEGIN(ExaF)
import java.io.*;
public class ExaF
{
public static void main( String[] args )throws ParseException
{
try
{
ExaF analizador = new ExaF( System.in ) ;
An.Prog();
System.out.println("\n\n All Ok");
}
catch(ParseException e)
{
System.out.println(e.getMessage());
System.out.println("\n\n Problem...");
}
}
}
PARSER_END(ExaF)
TOKEN:
{
<GAT: "#" > {System.out.print("00 ");}
| <FIN: ";" > {System.out.print("01 ");}
| <LLA: "{" > {System.out.print("02 ");}
| <LLC: "}" > {System.out.print("03 ");}
}
但我需要这样的一些:
TOKEN:
{
<GAT: "#" > {tex.write("00 ");}
| <FIN: ";" > {tex.write("01 ");}
| <LLA: "{" > {tex.write("02 ");}
| <LLC: "}" > {tex.write("03 ");}
}
我试试......
PrintStream stext;
stext = new PrintStream(new File("3S.txt"));
stext.print("00 ");
和...
File sfile=new File("3S.txt");
FileWriter texto = new FileWriter(sfile,true);
texto.write("00 ");
texto.close();
任何想法??? JavaCC说:
javac:821:错误:找不到simbol stext.print(“00”);
答案 0 :(得分:0)
由于在令牌管理器中使用了stext,您应该按如下方式声明它
TOKEN_MGR_DECLS: {
PrintStream stext = new PrintStream(new File("3S.txt"));
}
完成此操作后,您将能够在令牌操作中使用stext。有关详细信息,请参阅https://javacc.java.net/doc/javaccgrm.html#prod12上的文档。