欢迎来到天天文库
浏览记录
ID:47487008
大小:141.01 KB
页数:26页
时间:2020-01-12
《java词法分析器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、packageJAccidenceAnalyse;importjava.io.*;importjava.util.*;importJAccidenceAnalyse.Buffer.*;publicclassAccidenceAnalyser{privatejava.io.FileSourceFile;privatejava.io.FileReserveFile;privatejava.io.FileClassFile;privatejava.io.FileOutputFile;publicPretreatmentpretre
2、atment;publicKeyWordTablekeyWordTable;publicClassIdentityclassIdentity;publicScanerscaner;publicConcreteScanBufferFactorycsbFactory;/***2)词法分析器主程序*@roseuid3D9BB93303D0*/publicAccidenceAnalyser(){System.out.println("[INFOR]已经建立词法分析器!");}/***@roseuid3D9BAEF9029F*/pub
3、licvoidinitAA(){//创建缓冲工厂this.csbFactory=newConcreteScanBufferFactory();//创建字符串扫描对象scaner=newScaner(this);//创建pre处理对象pretreatment=newPretreatment(SourceFile,this);//创建关键字表对象keyWordTable=newKeyWordTable(ReserveFile);//创建对象种别码表对象classIdentity=newClassIdentity(ClassFil
4、e);System.out.println("[INFOR]已经初始化词法分析器!");}/***@roseuid3D9BAF12022D*/publicvoidsetFilesPath(StringreserveFileName,StringClassFileName,StringsourceFileName,StringoutputFileName){//创建文件对象SourceFile=newjava.io.File(sourceFileName);//创建文件对象ReserveFile=newjava.io.File
5、(reserveFileName);//创建文件对象ClassFile=newjava.io.File(ClassFileName);//创建文件对象OutputFile=newjava.io.File(outputFileName);//如果文件已经存在,先删除,然后建立新文件if(OutputFile.exists()){OutputFile.delete();}try{OutputFile.createNewFile();}catch(Exceptione){e.printStackTrace(System.err);
6、}try{//创建文件随机读取对象java.io.RandomAccessFileROutputFile=newjava.io.RandomAccessFile(this.OutputFile,"rw");//提示信息ROutputFile.write("//////////////////////////////////////////////////".getBytes());ROutputFile.write(("//JAccidenceAnalyserversion"+getVersion()+"designby
7、yellowicq//").getBytes());ROutputFile.write("//java词法分析器//////////////".getBytes());ROutputFile.write("//使用java语言开发////////////////////////////////////".getBytes());ROutputFile.write("//////////////////////////////////////////////////".getBytes());ROutputFi
8、le.write("词法分析结果如下:".getBytes());//关闭文件流ROutputFile.close();}catch(Exceptione){e.printStackTrace(System.err);}}/***@roseuid3D9BAFAB0089*/public
此文档下载收益归作者所有