编译原理-词法分析实验报告-java版(共7页).doc
《编译原理-词法分析实验报告-java版(共7页).doc》由会员分享,可在线阅读,更多相关《编译原理-词法分析实验报告-java版(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上词法分析代码。 import java.io.*;import java.util.Vector;import java.util.regex.*;public class Compiler public static String stringCompiler=;private static final String KEY_WORD=if, then, while, do, read, write,call,begin, end, const, var, procedure, odd; private static boolean isKeyWord(String
2、 s)/是否是关键字boolean b=false;for(int i=0;iKEY_WORD.length;i+)if(s.equals(KEY_WORDi)b=true;return b; class Element String s; String kind; String gets()return s; String getkind()return kind; Element(String s,String kind) this.s = s; this.kind = kind; static Vector sheet = new Vector(8); File result = new
3、 File(result.txt); File result1 = new File(result1.txt); boolean work() System.out.println(输入PL/O语言为:); try FileWriter fw1 = new FileWriter(result1); BufferedWriter bw1 = new BufferedWriter(fw1); FileReader fr1 = new FileReader(input.txt); BufferedReader br1 = new BufferedReader(fr1); String s = br1
4、.readLine(); label1: while(s!=null) for(int i = 0;i=|=)|d+.d*|w+|.+|S).matcher(a); while (m.find() checkScan(m.group(); String s=Compiler.stringCompiler; System.out.flush(); bw.write(s); Compiler.stringCompiler=; a = br.readLine(); br.close(); bw.close(); catch(IOException e) e.printStackTrace(); pu
5、blic void checkScan(String s)/扫描文件 if(Character.isDigit(s.charAt(0) checkDigitCompiler(s); else if(s.length()=1) checkCharCompiler(s.charAt(0); else checkStringCompiler(s); private void checkDigitCompiler(String s)/检测数字 if(s.indexOf(.)!=-1) CompilerOut(Double.valueOf(s).toString(); sheet.add(new Ele
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 词法 分析 实验 报告 java
限制150内