OS-鸿蒙系统-以及编译器
OS:操作系統,定義為系統性的操作集合。有更準確的數學形式化的定義。既然定義為OS,便引入了類似于環境科學或者生物學中"生命周期"思想。
編譯器: 把高級語言轉化為計算機可執行機器語言(馮諾依曼-圖靈機 二進制語言 或丹佛數據-指令語言)的系統軟件。
在計算機諸多課程里,離散數學可以稱為是計算機理論的基礎。私以為,偏工程學而非形式化系統數學的科目,編譯原理貌似是最難的一個課程。
像華為這樣的企業,或許應該有更大的理想,不必放下身段和諸多小公司搶飯吃。對于編譯器以及系統的開發,需要長久的支持更新,35歲優化掉或者轉為技術管理離開工程前沿,又或者因為財富自由而離開放棄自己的長處,對于計算機事業而不是公司來說,是一件得不償失的事情。
或許,一切根源,和"債務經濟"這種發展方式有關。凱恩斯經濟理論不壞,但有更好的分配機制或許對計算機科學工程學發展更好。
一、語言學
語言的基礎:字母表、詞法、文法、語義
形式化的定義:
二、形式文法-四種形式文法-chomsky文法
0型文法-圖靈機
設 G = ( V N , V T , P , S ) G=(V_N,V_T,P,S) G=(VN?,VT?,P,S),如果它的每個產生式α→β是這樣一種結構:α∈( V N V_N VN?∪ V T V_T VT?)*且至少含有一個非終結符,而 β∈( V N V_N VN?∪ V T V_T VT?)*則G是一個0型文法。0型文法也稱短語文法。
一個非常重要的理論結果是:0型文法的能力相當于圖靈機(Turing)。或者說,任 何0型文語言都是遞歸可枚舉的,反之,遞歸可枚舉集必定是一個0型語言。0型文法是這幾類文法中,限制最少的一個,所以我們在試題中見到的,至少是0型文法。
上下文有關-1型文法
線性有界自動機。它是在0型文法的基礎上每一個α→β,都有|β|>=|α|。這里的|β|表示的是β的長度。
注意:雖然要求|β|>=|α|,但有一特例:α→ε也滿足1型文法
如有A->Ba則|β|=2,|α|=1符合1型文法要求。反之,如aA->a,則不符合1型文法
上下文無關-2型文法
非確定下推自動機,產生形式如:A →β
其中:A∈VN;β∈(VT∪VN)*
有限自動機-3型文法-正規文法
產生式形如:A → αB 或 A → α
其中:α ∈ VT*;A,B ∈ VN(右線性文法)
產生式形如:A → Bα 或 A → α
其中:α ∈ VT*;A,B ∈ VN(左線性文法)
左線性文法與右線性文法的描述能力是等價的。
文法分析:波蘭式和逆波蘭式
三、語法樹
自頂向上的語法分析:LL(1)型文法樹
四、語義分析
中間代碼生成;
屬性文法;
語法制導翻譯;
五、編譯器優化
四級優化方法
六、yacc和lex
編譯器滾雪球
總結
以上是生活随笔為你收集整理的OS-鸿蒙系统-以及编译器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股票机构是什么
- 下一篇: 推荐系统的封闭和禁锢问题