1樓:匿名使用者
我這裡有個差不多的,不過加減乘除都有namespace 遞迴下降呼叫子程式法
你給我郵箱發個郵件 我吧程式法給你吧
// a → bc
// c → (+|-)bc | ε
// b → ed
// e → (a)| i
// d → *ed | ε
private stackst = new stack();
bool j_j = false;//標識外層是否是減法,若是,則內層加減互換
bool c_c = false;//標識乘除的
private float a()
else
if (st.peek() == '-')
else
}c();
return m;
}private float b()
else
}private float c()
else
return m + c();
}else
if (st.count != 0 && st.peek() == '-')
else
}else
}else //if(st.peek()
result += "c →ε\n";
return 0;
}private float d()
if ((st.peek() == '*') || (st.peek() == '/'))
else
return m * d();
}else
if (st.count != 0 && st.peek() == '/')
else
}else
}else
return 0;
}private float e()
if (isdigit(st.peek()))
return num;
}else
if (st.peek() == '(')
else
result += "非法字元!";
}else
result += "缺少「)」";
return m;
}else
result += "錯誤,第" +(codelength- st.count+1).tostring() + "個字應有數字或'('\n";
return 0;
}private bool isdigit(char d)
private string result;
private int codelength;
private void startbtn_click(object sender, eventargs e)
string res = null;
trycatch (exception e1)
if (st.count != 0)
label2.text += result + "第" + (textbox2.text.length - st.count + 1) + "個字元處有錯誤,請仔細檢視\n";
else
label2.text += result + "最終結果是:" + res;}}}
編譯原理課程講什麼內容,編譯原理與什麼課程有聯絡
編譯原理是計bai算機專業的一 du門重要專業課,zhi旨在介紹編譯程式dao構造的一般原理內和基本方法。內容包括 容語言和文法 詞法分析 語法分析 語法制導翻譯 中間 生成 儲存管理 優化和目標 生成。編譯原理是計算機專業設定的一門重要的專業課程。雖然只有少數人從事編譯方面的工作,但是這門課在理論...
編譯原理與什麼課程有聯絡,編譯原理課程講什麼內容?
與人工智慧 機器學習 作業系統 編譯器等都有關係,屬於計算機專業的核心課程,需要紮實掌握 編譯原理課程講什麼內容?編譯原理 課程介紹編譯器構造的一般原理和基本實現方法,主要介紹編 內譯器的各個階段容 詞法分析 語法分析 語義分析 中間 生成 優化和目標 生成。本課程在介紹命令式程式設計語言實現技術的...
編譯原理中v是什麼意思,編譯原理中V是什麼意思
v是一個符號集合,假設v指的是三個符號a,b,c的集合,記為 v v 讀作 v的閉包 它的數學定義是專v自身的任意多屬次自身連線 乘法 運算的積,也是一個集合。也就是說,用v中的任意符號進行任意多次 包括0次 連線,得到的符號串,都是v 這個集合中的元素。0次連線的結果是不含任何符號的空串,記為 1...