yuyer.java
来自「桂林电子科技大学编译原理完整JAVA源代码(词法、语法、语义) 此为完整版本」· Java 代码 · 共 71 行
JAVA
71 行
package news;
import java.lang.*;
import java.util.Collections.*;
class Yuyer
{
private int num = 0;//临时变量的编号
public int n = 1, m = 1, c = 1;
public String[][] quan =new String[][]{ { "", "", "", "" } };//保存四元式
public Yuyer()
{
}
public void gen(String opp,String opp1,String opp2,String res)
{
if (quan[0][0] == "")
{
quan[0][0] = opp;
quan[0][1] = opp1;
quan[0][2] = opp2;
quan[0][3] = res;
}
else
{
String[][] later = quan;//刚得到的字符串
int i = later.length/4 + 1;
quan = new String[i][4];//申请一个长一个的字符数组。
for (i = 0; i < later.length/ 4; i++)
{
for (int j = 0; j < 4; j++)
{
quan[i][j] = later[i][j];
}
}
quan[i][0] = opp;
quan[i][1] = opp1;
quan[i][2] = opp2;
quan[i][3] = res;
}
n++;
}
public String NewTemp()
{
num++;
return ("T" + num);
}
public int Merge(int c, int d)
{
int n;
if (d == 0)
return c;
else
{
n =d;
while (Integer.parseInt(quan[n][3]) != 0)
n = Integer.parseInt(quan[n][3]);
quan[n][3] =Integer.valueOf(c).toString();
return d;
}
}
public void BackPatch(int p, int t)
{
int n= p - 1 ;
if (n>0)
{
quan[n][3] = Integer.valueOf(t).toString();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?