资源简介
1. 设计扫描程序,将任何一种整数运算表达式(无变量,操作数为正整数,允许加减乘除四种运算,允许使用括号和多层括号)识别为单词,并能发现单词的拼写错误
2. 设计自底向上分析程序,在栈上实现对单词token串的自底向上分析
3. 根据算符优先文法的分析步骤,展示分析栈、token串的状态变化、相关量的优先级比较(算符优先分析表)结果输出 、判断当前是否进行规约或移进操作、(若须规约)显示当前应规约的串
4. 展示语法树

代码片段和文件信息
package compiler;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Calculate {
public int val;
public List table=null;//数据栈
public List Re=null;
private static int count=0;
public double [] T;
public Calculate(){
table=new ArrayList();
Re=new ArrayList();
}
public void calculate(String aString b){
int len=0;
Scanner s1=new Scanner(b);
Scanner s2=new Scanner(b);
while(s1.hasNext()==true){ //计算长度
s1.next();
len++;
}
ArrayList arr=new ArrayList();
for(int i=0;i if(s2.hasNext()==true)
arr.add(s2.next());
else
arr.add(“_“);
}
if(len==1){
TableElement V=new TableElement(countab);
this.table.add(V);
}else{
if(!arr.get(0).equals(“(“)){
if(Re.size()==0){
double n2=table.get(table.size()-1).val;
table.remove(table.size()-1);
double n1=table.get(table.size()-1).val;
table.remove(table.size()-1);
operation(an1arr.get(1)n2);
}
}
}
}
public String check(int noString b){ //查字符对应的值
Double r = null;
for(int i=0;i if(table.get(i).no==no && table.get(i).result.equals(b))
r=table.get(i).val;
System.out.println(b+“的值是:“+r);
return Double.toString(r);
}
public static boolean isNum(String str){ //判断是否为数字
return str.matches(“^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$“);
}
public void operation(String adouble xString opdouble y){
if(op.equals(“+“))
x=x+y;
else if(op.equals(“-“))
x=x-y;
else if(op.equals(“*“))
x=x*y;
else if(op.equals(“/“)){
if(y==0.0)
Re.add(“ERROR!“);
else
x=x/y;
}
else{
double sum=Math.pow(x y);
x=sum;
}
if(y!=0.0){
TableElement V=new TableElement(countaDouble.toString(x));
this.table.add(V);
count++;
}
}
public void show(){ //输出数据栈
String result=new String(“Result:“);
if(Re.size()==0){
result+=Double.toString(table.get(table.size()-1).val);
Mainframe.noticeTextField.setText(result);
}
else
System.out.println(“除数不能为零!“);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-07-04 17:33 Compiler\
文件 301 2012-07-04 17:31 Compiler\.classpath
文件 384 2012-07-05 00:26 Compiler\.project
目录 0 2012-07-04 17:31 Compiler\.settings\
文件 635 2012-07-04 17:31 Compiler\.settings\org.eclipse.jdt.core.prefs
目录 0 2012-07-05 00:26 Compiler\bin\
目录 0 2012-07-05 00:26 Compiler\bin\compiler\
文件 3857 2012-07-05 00:26 Compiler\bin\compiler\Calculate.class
文件 530 2012-07-05 00:26 Compiler\bin\compiler\GenerateTable$table_item.class
文件 2424 2012-07-05 00:26 Compiler\bin\compiler\GenerateTable.class
文件 9605 2012-07-05 00:26 Compiler\bin\compiler\Grammar.class
文件 4630 2012-07-05 00:26 Compiler\bin\compiler\Mainfr
文件 509 2012-07-05 00:26 Compiler\bin\compiler\Node.class
文件 3330 2012-07-05 00:26 Compiler\bin\compiler\Semantic.class
文件 1553 2012-07-05 00:26 Compiler\bin\compiler\TableElement.class
文件 4302 2012-07-05 00:26 Compiler\bin\compiler\Token.class
文件 771 2012-07-05 00:26 Compiler\bin\compiler\TokenItem.class
文件 746 2012-07-05 19:10 Compiler\res.txt
目录 0 2012-07-04 17:31 Compiler\src\
目录 0 2012-07-05 00:25 Compiler\src\compiler\
文件 2319 2012-07-05 00:24 Compiler\src\compiler\Calculate.java
文件 1729 2012-07-05 00:23 Compiler\src\compiler\GenerateTable.java
文件 9461 2012-07-05 00:25 Compiler\src\compiler\Grammar.java
文件 5280 2012-07-05 00:25 Compiler\src\compiler\Mainfr
文件 294 2012-07-05 00:23 Compiler\src\compiler\Node.java
文件 2033 2012-07-05 00:25 Compiler\src\compiler\Semantic.java
文件 884 2012-07-05 00:24 Compiler\src\compiler\TableElement.java
文件 4704 2012-07-05 00:24 Compiler\src\compiler\Token.java
文件 380 2012-07-05 00:24 Compiler\src\compiler\TokenItem.java
- 上一篇:servlet+jsp实现上课点名系统
- 下一篇:java笔试题库-选择题.rar
相关资源
- java 毕业设计 进销存管理系统 源码
- itext最新jar包及textAsian无错误版本
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- JNA所需要的jar包
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- utgard用到的jar包
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- commons-beanutils-1.8.3.jar
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- ehcache-core-2.5.1.jar
- android-support-v4.jar已打包进去源代码
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
评论
共有 条评论