• 大小: 24KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Java
  • 标签: JAVA  ,编译器  

资源简介

我们的编译原理课设题目。百分之百能用,学霸自己写的

资源截图

代码片段和文件信息

	import java.io.IOException;
import java.security.Signature;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;

import javax.swing.text.styledEditorKit.ForegroundAction;


public class FourAddressCode {

/**
 * @param args
 */
static SYS siyuanshi[]=new SYS[40];
Vector result=new Vector();
Vector shuruliubeifen=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;
///***�������*****////
public void siyuanshi() {

Lex lex = new Lex();
List tokens = new ArrayList();
tokens = lex.getTokens();
//System.out.println(tokens.size());
for(int k=0;k<40;k++) {
siyuanshi[k]=new SYS();
siyuanshi[k].p1=new Node();
}
for(int j=0;j {
String s = tokens.get(j).getWord();
//System.out.println(“hello“+s);
shuruliubeifen.add(s);
}
//System.out.println(“hello“+shuruliubeifen.size());
for (int j=0;j        {
       // System.out.println(shuruliubeifen.get(j));
       }
//String a=““;
int i=0;
//System.out.println(“hello“+shuruliubeifen.size());
while(i String linshi1=““;
String linshi=(String)shuruliubeifen.elementAt(i);
if(i<(shuruliubeifen.size()-1)) {
linshi1=(String)shuruliubeifen.elementAt(i+1);
}
//if语句
if(linshi.equals(“if“)) {
if(((String)shuruliubeifen.elementAt(i+3)).equals(“>“)
||((String)shuruliubeifen.elementAt(i+3)).equals(“<“)
||((String)shuruliubeifen.elementAt(i+3)).equals(“=“)) {

siyuanshi[count].fuhao=(String)shuruliubeifen.elementAt(i+3);
siyuanshi[count].op1=(String)shuruliubeifen.elementAt(i+2);
siyuanshi[count].op2=(String)shuruliubeifen.elementAt(i+4);

huibianjump[sign]=count+2;
sign++;
siyuanshi[count].p1.Address_Num=count+2;
count++;

siyuanshi[count].fuhao=“j“;
siyuanshi[count].op1=“_“;
    siyuanshi[count].op2=“_“;
else_beginsign=count;
count++;
i++;
}   
}
//else 语句
else if(linshi.equals(“else“)) {

siyuanshi[count].fuhao=“j“;
siyuanshi[count].op1=“_“;
siyuanshi[count].op2=“_“;

if_oversign=count;
count++;
huibianjump[sign]=count;
sign++;
siyuanshi[else_beginsign].p1.Address_Num=count;
i++;
}
//while语句
else if(linshi.equals(“while“)) {

if(((String)shuruliubeifen.elementAt(i+3)).equals(“>“)
||((String)shuruliubeifen.elementAt(i+3)).equals(“<“)
||((String)shuruliubeifen.elementAt(i+3)).equals(“=“)) {

while_beginsign=count;
siyuanshi[count].fuhao=(String)shuruliub

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-06-28 13:43  Lexical-all\
     文件         301  2013-06-20 14:20  Lexical-all\.classpath
     文件         383  2013-06-20 14:20  Lexical-all\.project
     目录           0  2013-06-28 13:43  Lexical-all\.settings\
     文件         122  2013-06-20 14:21  Lexical-all\.settings\org.eclipse.core.resources.prefs
     文件         598  2013-06-20 14:20  Lexical-all\.settings\org.eclipse.jdt.core.prefs
     目录           0  2013-06-28 13:43  Lexical-all\bin\
     文件        5248  2013-06-21 21:52  Lexical-all\bin\FourAddressCode.class
     文件        6592  2013-06-21 21:46  Lexical-all\bin\Lex.class
     文件         301  2013-06-21 21:46  Lexical-all\bin\Node.class
     文件         321  2013-06-21 21:46  Lexical-all\bin\SYS.class
     文件        1047  2013-06-21 21:46  Lexical-all\bin\Symbol.class
     文件        1225  2013-06-21 21:46  Lexical-all\bin\SymbolTable.class
     文件        1177  2013-06-21 21:46  Lexical-all\bin\SymbolType.class
     文件        1126  2013-06-21 21:46  Lexical-all\bin\Token.class
     文件        1208  2013-06-21 21:46  Lexical-all\bin\TokenType.class
     文件        7190  2013-06-21 21:46  Lexical-all\bin\TopDown.class
     文件          80  2013-06-20 14:20  Lexical-all\input.txt
     文件         202  2013-06-20 14:20  Lexical-all\input2.txt
     目录           0  2013-06-28 13:43  Lexical-all\src\
     文件        8240  2013-06-21 21:52  Lexical-all\src\FourAddressCode.java
     文件        7240  2013-06-20 14:30  Lexical-all\src\Lex.java
     文件         104  2013-06-20 14:20  Lexical-all\src\Node.java
     文件         117  2013-06-20 14:20  Lexical-all\src\SYS.java
     文件         575  2013-06-20 14:20  Lexical-all\src\Symbol.java
     文件         557  2013-06-20 14:20  Lexical-all\src\SymbolTable.java
     文件         115  2013-06-20 14:20  Lexical-all\src\SymbolType.java
     文件         526  2013-06-20 14:20  Lexical-all\src\Token.java
     文件         107  2013-06-20 14:20  Lexical-all\src\TokenType.java
     文件        8289  2013-06-20 14:20  Lexical-all\src\TopDown.java
     文件         231  2013-06-20 14:20  Lexical-all\test
............此处省略0个文件信息

评论

共有 条评论