用JAVA写词法分析器(共3页).doc

上传人:飞****2 文档编号:13527347 上传时间:2022-04-29 格式:DOC 页数:3 大小:19.50KB
返回 下载 相关 举报
用JAVA写词法分析器(共3页).doc_第1页
第1页 / 共3页
用JAVA写词法分析器(共3页).doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《用JAVA写词法分析器(共3页).doc》由会员分享,可在线阅读,更多相关《用JAVA写词法分析器(共3页).doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上import java.lang.*;import java.io.*;public class Wordanalsys static char ch; static int index=0; static int j=0; static char allstr=new char; static String name; public char Getchar() try ch=(char)System.in.read(); catch(Exception e)e.printStackTrace(); return ch; public boolean IsLette

2、r(char ch) return java.lang.Character.isLetter(ch); public boolean IsDigit(char ch) return java.lang.Character.isDigit(ch); public int Reserve() KeyTable table=new KeyTable5; table0=new KeyTable(while,1); table1=new KeyTable(for,2); table2=new KeyTable(if,3); table3=new KeyTable(else,4); table4=new

3、KeyTable(int,5); name=new String(allstr).substring(j,index);/取子串 for(int i=0;i5;i+) if(name.equals(tablei.key) return tablei.code; return 0; public static void main (String args) Wordanalsys a=new Wordanalsys(); ch=a.Getchar(); int m=0; while(ch!=#) allstrindex=ch; index+; ch=a.Getchar(); int k=inde

4、x; index=0; while(jk-1) m=j; if(a.IsLetter(allstrj) while(a.IsLetter(allstrindex)|a.IsDigit(allstrindex) index+; if(a.Reserve()!=0) System.out.println(保留字 +name+ +a.Reserve(); else System.out.println(标识符 + 6); j=index; if(a.IsDigit(allstrj) while(a.IsDigit(allstrindex)index+; name=new String(allstr)

5、.substring(j,index); int b=java.lang.Integer.pasint(name); String name1=Integer.toBinaryString(b) ; System.out.println(数字 +name+ 7+name1); j=index; if(allstrj=()System.out.println(左括号 +( 8);index+;j=index; if(allstrj=)System.out.println( 等号 += 9);index+;j=index; if(allstrj=)System.out.println(右括号 +)

6、 10);index+;j=index; if(allstrj= )while(allstrj= )index+;j=index; if(allstrj=;)System.out.println(分号+ ; 11);index+;j=index; if(allstrj=)index+;j=index; if(allstrj=) System.out.println(小于等于+ = 12);index+;j=index; else System.out.println(小于 + )index+;j=index; if(allstrj=) System.out.println(大于等于+ = 15

7、);index+;j=index ; elseSystem.out.println(大于号+ 14 ); if(allstrj=+)index+;j=index; if(allstrj=+) System.out.println(自增运算符+ + 16);index+;j=index; else System.out.println(加号+ + 17); if(allstrj=-)index+;j=index; if(allstrj=-) System.out.println(自减运算符+ - 16);index+;j=index; else System.out.println(减号+ - 17); if(allstrj=n)System.out.println(enter the next line);index+;j=index; if(m=j)System.out.println(the illegal character +allstrj);index+;j=index; class KeyTableString key;int code;public KeyTable(String key,int code)this.key=key;this.code=code;专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁