资源简介
大作业时做的一个java版编译原理课程设计,需要的朋友可以参考,包括词法分析,语法分析,四元式以及汇编代码的生成
代码片段和文件信息
import java.util.*;
import java.util.Vector;
import java.io.*;
class SYS
{
String fuhao;
String op1;
String op2;
Node p1;
}
class Node
{
String result;
int Address_Num;
}
class a
{
Vector shuruliu=new Vector();
Vector beifen=new Vector();
Vector fenxizhan=new Vector();
Vector 保留字=new Vector();
Vector jiefu=new Vector();
Vector yusuanfu=new Vector();
Vector result=new Vector();
int while_endsign=0;
static int count=0;
static int count_sign=0;
int if_oversign=0;
int else_beginsign=0;
int while_beginsign=10;
int huibianjump[]=new int[50];
int sign=0;
static SYS siyuanshi[]=new SYS[40];
public static void main(String []args) throws Exception
{
a b=new a();
for(int k=0;k<40;k++)
{
b.siyuanshi[k]=new SYS();
siyuanshi[k].p1=new Node();
}
String l=““;
String d=““;
String yuan=““;
b.yusuanfu.add(“+“);b.yusuanfu.add(“-“);b.yusuanfu.add(“*“);b.yusuanfu.add(“/“);b.yusuanfu.add(“>“);
b.yusuanfu.add(“<“);b.yusuanfu.add(“=“);b.yusuanfu.add(“%“);
b.jiefu.add(“(“);b.jiefu.add(“)“);b.jiefu.add(“{“);b.jiefu.add(“}“);b.jiefu.add(“;“);
b.保留字.add(“else“);b.保留字.add(“int“);b.保留字.add(“if“);b.保留字.add(“while“);b.保留字.add(“char“);b.保留字.add(“float“);b.保留字.add(“double“);b.保留字.add(“main“);
BufferedReader br=new BufferedReader(
new InputStreamReader(System.in));
System.out.println(“源代码文件内容是:“);
System.out.println(“**************************************************************“);
System.out.println(“**************************************************************“);
while(true)
{
String s=br.readLine();
boolean sign=false;
String ls=““;
if(s.equals(“$“))
break;
else
{
System.out.println(s);
}
int i=0;
for(i=0;i {
ls=s.substring(ii+1);
l=l+ls;
while((ls.compareToIgnoreCase(“a“)>=0)&&(ls.compareToIgnoreCase(“z“)<=0))
{
sign=true;
i++;
if(i {ls=s.substring(ii+1);}
if(i==s.length()||ls.equals(“}“)||ls.equals(“<“)||ls.equals(“{“)||ls.equals(“>“)||ls.equals(““)||ls.equals(“;“)||ls.equals(“=“)||ls.equals(“(“)||ls.equals(“)“)||ls.equals(“ “)||ls.equals(“*“)||ls.equals(“/“)||ls.equals(“+“)||ls.equals(“-“))
{
break;
}
else
{
l=l+ls;//System.out.print(l);
}
}
if((ls.compareTo(“0“)>=0)&&(ls.compareTo(“9“)<=0))
{
sign=true;
i++;
ls=s.substring(ii+1);
while(true)
{
l=l+ls;
i++;
ls=s.substring(ii+1);
if(ls.equals(“}“)||ls.equals(““)||ls.equals(“;“)||ls.equals(“=“)||ls.equals(“(“)||ls.equals(“)“)||ls.equals(“ “)||ls.equals(“*“)||ls.equals(“/“))
{
break;
}
}
}
if(b.保留字.contains(l))
{
b.shuruliu.add(l);
b.beifen.add(l);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 152 2008-12-16 20:56 编译原理课程设计\a.txt
文件 28971 2008-12-16 20:57 编译原理课程设计\a.java
目录 0 2009-01-20 16:20 编译原理课程设计
----------- --------- ---------- ----- ----
29123 3
相关资源
- 编译原理课程设计-java版
- 编译原理 C、Java语言词法分析器java实
- 广州大学编译原理实验报告1-3.zip
- 编译原理实验 词法分析设计 MFC
- 语义分析—编译原理
- java编写的算符优先分析法分析器
- 华中科技大学 编译原理 面向过程的
- 山东大学编译原理实验报告含代码
- Compiler_mean3tmp.rar
- 西安交通大学编译原理实验代码及报
- 编译原理第3版[刘铭][实验程序源代码
- 用Java做编译原理正规式转换成NFA.ra
- 编译原理课程设计含报告和可运行源
- 词法分析器实现java和c++
- 编译原理课程设计(附报告和可运行
- 现代编译原理虎书,包含c版和java版中
- 现代编译器的Java实现.(美)Andrew.W
- 编译原理java实现所需jar包-个人博客文
- 编译原理-虎书-龙书-鲸书
- java编写的LR语法分析器编译原理实验
- JAVA 编译原理 SLR(1)算法模拟器
- java 中间代码生成 编译原理
- 编译原理词法分析器 java版
- java 写的 用优先函数分析 数学表达式
- 符号串的最左和最右推导
- 编译原理词法分析器实现Java带界面源
- 编译原理综合实习 JavaCC实现 可翻译
- 编译原理 王生原 董渊 书后源代码
- 利用Java编写简单的C语言词法分析器
- Java实现PL0词法分析、语法分析、语义
评论
共有 条评论