1. 程式人生 > >編譯原理學習筆記

編譯原理學習筆記

1.2編譯器的結構:源語言 - >語法分析 - >抽象語法樹(AST)

- >程式碼生成:舉例採用後序遍歷AST的方式實現一個加法程式碼生成(到棧式計算機指令)

1.3編譯器的例子:棧式計算機(JVM)

2.詞法分析

2.1編譯器的階段:源程式 - >前端 - > IR(中間表示) - >後端 - >目標程式

其中前端:源程式 - >

詞法分析:分析字串,由字元流到記號(單詞)流

包含一種ç語言的記號的結構體型別

- >語法分析 - >語義分析 - >中間表示

 

2.2.1:字元流------->詞法分析器---------->記號(單詞)流

手工詞法分析器實現:以關係運算符為例子,注意多讀到的字元要回退,就是重新扔回緩衝區。

由於關鍵字的規則也屬於識別符號(字元下劃線開頭),那麼怎麼識別關鍵字呢。

1.換一個轉義方式或建立一個雜湊表,查詢完表示符後再查表;

 

基本流:詞法 - >語法 - >語義  

2.3.4正則表示式