編譯原理中文法GEETTTTF

2021-03-04 02:01:43 字數 1679 閱讀 2106

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...