免费预览已结束,剩余5页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*/Author:龙魂 /copyright-mythinfuture/教程“龙书”-李建中翻译的那版*/import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class test_1 public static void main(String args) throws IOException InputStreamReader ir=null; BufferedReader in=null; String input=null; boolean exit =false; boolean flag=false; StringBuffer stack=new StringBuffer($E); StringBuffer inputString=null; StringBuffer outputString=new StringBuffer( ); int i=0; char _index=new char E,E,T,T,F ; char _list=new char T,E,+,T, ; System.out.println(|*|); System.out.println(| LL(1)简单模拟测试 |); System.out.println(|*|); System.out.println(| 友情提示: tt|); System.out.println(| 空字符用& 表示 id用i表示 t|); System.out.println(|*|); System.out.println(|文法如下所示: t|); System.out.println(| E-TE tt|); System.out.println(| E-+TE|& tt|); System.out.println(| T-FT tt|); System.out.println(| T-* FT|& tt|); System.out.println(| F-(E)|id tt|); System.out.println(|*|); while(!exit) System.out.print(请输入测试串:); stack=new StringBuffer($E); ir=new InputStreamReader(System.in); in=new BufferedReader(ir); input=in.readLine(); /* 检验输入是否错误 */ flag=test_1.checkCommand(input); if(flag=true) inputString=new StringBuffer(input); /初始化输入串 inputString.append($); /以 $作为终结符 System.out.println(-); System.out.println(-); System.out.println(|t 栈 t |t 输入 t|t 输出tt|); System.out.println(-); while(stack.length()=1) i=stack.length()-1; /堆栈下角标 String temp=| +stack.toString(); for(int j=0;j(15-stack.length();j+) temp+= ; temp+=| +inputString.toString(); for(int j=0;j(20-inputString.length();j+) temp+= ; temp+=| +outputString.toString(); if(outputString.equals( ) temp+=ttt|; else for(int j=0;jTE); else System.out.println(出错: E 无法与 +inputString.charAt(0)+ 进行比对规约); break; else if(stack.charAt(i)=F) if(inputString.charAt(0)=i) stack.deleteCharAt(i); stack.append(i); outputString=new StringBuffer(F-id); else if(inputString.charAt(0)=() stack.deleteCharAt(i); stack.append()E(); outputString=new StringBuffer( F-(E) ); else System.out.println(出错: E 无法与 +inputString.charAt(0)+ 进行比对规约); break; else if(stack.charAt(i)=T) if(inputString.charAt(0)=i)|(inputString.charAt(0)=() stack.deleteCharAt(i); stack.append(TF); outputString=new StringBuffer( T-FT ); else System.out.println(出错: E 无法与 +inputString.charAt(0)+ 进行比对规约); break; else if(stack.charAt(i)=) if(String.valueOf(stack.charAt(i-1)+).equals(T) if(inputString.charAt(0)=+)|(inputString.charAt(0)=)|(inputString.charAt(0)=$) stack.deleteCharAt(i); stack.deleteCharAt(i-1); outputString=new StringBuffer( T-& ); else if(inputString.charAt(0)=*) stack.deleteCharAt(i); stack.deleteCharAt(i-1); stack.append(TF*); outputString=new StringBuffer( T-*FT ); else System.out.println(出错: E 无法与 +inputString.charAt(0)+ 进行比对规约); break; else if(String.valueOf(stack.charAt(i-1)+).equals(E) if(inputString.charAt(0)=+) stack.deleteCharAt(i); stack.deleteCharAt(i-1); stack.append(ET+); outputString=new StringBuffer( E-+TE ); else if(inputString.charAt(0)=)|(inputString.charAt(0)=$) stack.deleteCharAt(i); stack.deleteCharAt(i-1); outputString=new StringBuffer(E-&); else System.out.println(出错: E 无法与 +inputString.charAt(0)+ 进行比对规约); break; else /当堆栈首部中出现小写字符时候 stack.deleteCharAt(i-); inputString.deleteCharAt(0); outputString=new StringBuffer( ); System.out.println(-); System.out.println(您是否继续进行测试操作? Yes or No?); System.out.print(请输入:); ir=new InputStreamReader(System.in); in=new BufferedReader(ir); input=in.readLine(); if(!input.trim().toUpperCase().equals(Y) exit=true; /* * 检查输入串是否符合标准 * */private static boolean checkCommand(String input) int i=0; / while(iinput.length() if(input.charAt(i)=i)|(input.charAt(i)=&)|(input.charAt(i)=+)|(input.charAt(i)=*)|(input.charAt(i)=()|(in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子商务运营技巧自测题答案详解
- 康复技能实操指南操作题及答案集
- 健康心理习惯养成测试题集及解析
- 矿物成分鉴定技巧题库及解析
- 建筑设计理念与创新实战测试题目答案全解
- 建筑设计理念应用题集及解析参考
- 初级保育员行为观察题目及答案
- 中小学生气象科普知识
- 2025年工业自动化硬件合作协议(伺服驱动)
- 生物显微像差纠正制度
- 南充市高2026届高三高考适应性考试(一诊)语文试卷(含答案)
- 临床抗生素使用课件
- 2025山东济南医学发展集团有限公司国有企业招聘22人笔试考试参考试题附答案解析
- 律师事务所保密制度和保密措施
- 物业管理费用结构分析报告
- 2025天津港保税区安全生产技术专家招聘26人笔试考试参考题库附答案解析
- 第十六章整式的乘法数学活动课件人教版数学八年级上册
- 旅馆从业人员在线考试及答案解析
- 医疗机构感染控制制度及操作流程规范
- 科学防疫敬畏生命
- 雨课堂在线学堂《小白学人工智能》单元考核测试答案
评论
0/150
提交评论