?? main.cs
字號:
else if (huancun == 18) { huancun++; return "t18"; }
else if (huancun == 19) { huancun++; return "t19"; }
else if (huancun == 20) { huancun++; return "t20"; }
else if (huancun == 21) { huancun++; return "t21"; }
else if (huancun == 22) { huancun++; return "t22"; }
else if (huancun == 23) { huancun++; return "t23"; }
else if (huancun == 24) { huancun++; return "t24"; }
else if (huancun == 25) { huancun++; return "t25"; }
else if (huancun == 26) { huancun++; return "t26"; }
else if (huancun == 27) { huancun++; return "t27"; }
else if (huancun == 28) { huancun++; return "t28"; }
else if (huancun == 29) { huancun++; return "t29"; }
else if (huancun == 30) { huancun++; return "t30"; }
else if (huancun == 31) { huancun++; return "t31"; }
else if (huancun == 32) { huancun++; return "t32"; }
else if (huancun == 33) { huancun++; return "t33"; }
else if (huancun == 34) { huancun++; return "t34"; }
else if (huancun == 35) { huancun++; return "t35"; }
else if (huancun == 36) { huancun++; return "t36"; }
else if (huancun == 37) { huancun++; return "t37"; }
else if (huancun == 38) { huancun++; return "t38"; }
else if (huancun == 39) { huancun++; return "t39"; }
else if (huancun == 40) { huancun++; return "t40"; }
else if (huancun == 41) { huancun++; return "t41"; }
else if (huancun == 42) { huancun++; return "t42"; }
else if (huancun == 43) { huancun++; return "t43"; }
else if (huancun == 44) { huancun++; return "t44"; }
else if (huancun == 45) { huancun++; return "t45"; }
else if (huancun == 46) { huancun++; return "t46"; }
else if (huancun == 47) { huancun++; return "t47"; }
else if (huancun == 48) { huancun++; return "t48"; }
else if (huancun == 49) { huancun++; return "t49"; }
else if (huancun == 50) { huancun++; return "t50"; }
else { huancun++; return "Error"; }
}
public string huacunpdcuan()//緩存判斷(返回)【完成】
{
if (huancun == 1) { return "t0"; }//返回檢測前面產生的t的值,因為產生t后huancun會++,所以就需要將t向下減一
else if (huancun == 2) { return "t1"; }
else if (huancun == 3) { return "t2"; }
else if (huancun == 4) { return "t3"; }
else if (huancun == 5) { return "t4"; }
else if (huancun == 6) { return "t5"; }
else if (huancun == 7) { return "t6"; }
else if (huancun == 8) { return "t7"; }
else if (huancun == 9) { return "t8"; }
else if (huancun == 10) { return "t9"; }
else if (huancun == 11) { return "t10"; }
else if (huancun == 12) { return "t11"; }
else if (huancun == 13) { return "t12"; }
else if (huancun == 14) { return "t13"; }
else if (huancun == 15) { return "t14"; }
else if (huancun == 16) { return "t15"; }
else if (huancun == 17) { return "t16"; }
else if (huancun == 18) { return "t17"; }
else if (huancun == 19) { return "t18"; }
else if (huancun == 20) { return "t19"; }
else if (huancun == 21) { return "t20"; }
else if (huancun == 22) { return "t21"; }
else if (huancun == 23) { return "t22"; }
else if (huancun == 24) { return "t23"; }
else if (huancun == 25) { return "t24"; }
else if (huancun == 26) { return "t25"; }
else if (huancun == 27) { return "t26"; }
else if (huancun == 28) { return "t27"; }
else if (huancun == 29) { return "t28"; }
else if (huancun == 30) { return "t29"; }
else if (huancun == 31) { return "t30"; }
else if (huancun == 32) { return "t31"; }
else if (huancun == 33) { return "t32"; }
else if (huancun == 34) { return "t33"; }
else if (huancun == 35) { return "t34"; }
else if (huancun == 36) { return "t35"; }
else if (huancun == 37) { return "t36"; }
else if (huancun == 38) { return "t37"; }
else if (huancun == 39) { return "t38"; }
else if (huancun == 40) { return "t39"; }
else if (huancun == 41) { return "t40"; }
else if (huancun == 42) { return "t41"; }
else if (huancun == 43) { return "t42"; }
else if (huancun == 44) { return "t43"; }
else if (huancun == 45) { return "t44"; }
else if (huancun == 46) { return "t45"; }
else if (huancun == 47) { return "t46"; }
else if (huancun == 48) { return "t47"; }
else if (huancun == 49) { return "t48"; }
else if (huancun == 50) { return "t49"; }
else { return "Error"; }
}
//以下的部分為輸出
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public void printf(string a, string b, string c, string d)//對內容像輸出框進行輸出【完成】
{
{
richTextBox3.AppendText("L");//輸出L
richTextBox3.AppendText(hangshu.ToString());//輸出行數
hangshu++;//行數加一
}
richTextBox3.AppendText(" ");
richTextBox3.AppendText("( ");//產生一個(
richTextBox3.AppendText(a);//輸出op
int_out_pd(a);//輸出
shuchus(a);//輸出
richTextBox3.AppendText(" , ");//輸出,
richTextBox3.AppendText(b);//輸出第一個id
int_out_pd(b);//輸出
shuchus(b);//輸出
richTextBox3.AppendText(" , ");//輸出,
richTextBox3.AppendText(c);//輸出第二個id
int_out_pd(c);//輸出
shuchus(c);//輸出
richTextBox3.AppendText(" , ");//輸出,
richTextBox3.AppendText(d);//輸出出口
int_out_pd(d);//輸出
shuchus(d);//輸出
richTextBox3.AppendText(" )");//輸出)
richTextBox3.AppendText("\n\n");//換行
//shuchus(" ");//輸出空格//測試用
}
//以下是輸出接口部分
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public void shuchus(string r)//輸出到優化部分的函數(string)【完成】
{
shuchu_s[shuchu_yuansu] = r;//將當前的值放入數組
shuchu_yuansu++;//下一個值
}
public void shuchui(int r)//輸出到優化部分的函數(int)【完成】
{
shuchu_i[shuchu_yuansu1] = r;//將當前的值放入數組
shuchu_yuansu1++;//下一個值
}
//以下是行數產生 無條件跳轉四元式產生 以及預判出口的函數
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public string shuchu_hangshu(int b)//為跳轉做準備輸出行數【完成】
{
string a;//臨時變量
a = "L" + b.ToString();//產生行數
return a;//返回行數
}
public void tiaozhuans(int b)//進行跳轉的四元式的輸出【完成】
{
shuchui(36);
siyuanshi[0] = "j";//必為j
shuchui(34);
siyuanshi[1] = "_";//不存在
shuchui(34);
siyuanshi[2] = "_";//不存在
shuchui(35);
siyuanshi[3] = "L" + b;//跳轉的行數
printf(siyuanshi[0], siyuanshi[1], siyuanshi[2], siyuanshi[3]);//進行具體的輸出
}
//以下為while的跳轉判斷
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public int research()//檢測跳轉的行數【完成】
{
int j = 0, k = 0;//設臨時變量
while (now != 8)// endwhile 由于產生的四元式的數目等于其中加減乘除以及等號的數目,所以只判斷其中符號的數目
{
xiayige(); j++;//向下進行,并且記錄向下的數目,待會兒要返回來的
if (now == 13 || now == 14 || now == 15 || now == 16 || now == 17)//當加減乘除以及等于是執行
{ k++; }//記錄加減乘除以及等號的數目
}
while (j != 0)//返回來
{
shangyige();//上一個
j--;//計數減一
}
//textBox1.Text = now.ToString();//測試用
return k;//返回需要跳轉的行數
}
public string int_out_pd(string t)//數據發送的int部分的編排【完成】
{
if (t == "t0" || t == "t1" || t == "t2" || t == "t3" || t == "t4" || t == "t5" || t == "t6" || t == "t7" || t == "t8" || t == "t9" || t == "t10" || t == "t11" || t == "t12" || t == "t13" || t == "t14" || t == "t15" || t == "t16" || t == "t17" || t == "t18" || t == "t19" || t == "t20" || t == "t21" || t == "t22" || t == "t23" || t == "t24" || t == "t25" || t == "t26" || t == "t27" || t == "t28" || t == "t29" || t == "t30" || t == "t31" || t == "t32" || t == "t33" || t == "t34" || t == "t35" || t == "t36" || t == "t37" || t == "t38" || t == "t39" || t == "t40" || t == "t41" || t == "t42" || t == "t43" || t == "t44" || t == "t45" || t == "t46" || t == "t47" || t == "t48" || t == "t49") { shuchui(33); return "succeed"; }//t
else if (t == "L0" || t == "L1" || t == "L2" || t == "L3" || t == "L4" || t == "L5" || t == "L6" || t == "L7" || t == "L8" || t == "L9" || t == "L10" || t == "L11" || t == "L12" || t == "L13" || t == "L14" || t == "L15" || t == "L16" || t == "L17" || t == "L18" || t == "L19" || t == "L20" || t == "L21" || t == "L22" || t == "L23" || t == "L24" || t == "L25" || t == "L26" || t == "L27" || t == "L28" || t == "L29" || t == "L30" || t == "L31" || t == "L32" || t == "L33" || t == "L34" || t == "L35" || t == "L36" || t == "L37" || t == "L38" || t == "L39" || t == "L40" || t == "L41" || t == "L42" || t == "L43" || t == "L44" || t == "L45" || t == "L46" || t == "L47" || t == "L48" || t == "L49") { shuchui(35); return "succeed"; }//L
else if (t == "+") { shuchui(13); return "succeed"; }//加
else if (t == "-") { shuchui(14); return "succeed"; }//減
else if (t == "*") { shuchui(15); return "succeed"; }//乘
else if (t == "/") { shuchui(16); return "succeed"; }//除
else if (t == "=") { shuchui(17); return "succeed"; }//賦值
else if (t == ">=") { shuchui(18); return "succeed"; }//大于等于
else if (t == "<=") { shuchui(19); return "succeed"; }//小于等于
else if (t == ">") { shuchui(20); return "succeed"; }//大于
else if (t == "<") { shuchui(21); return "succeed"; }//小于
else if (t == "==") { shuchui(22); return "succeed"; }//等于
else if (t == "!=") { shuchui(23); return "succeed"; }//不等于
else if (t == "_") { shuchui(34); return "succeed"; }//_ 跳轉中的空
else { shuchui(69); return "succeed"; }//數字字符常量
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -