最近開始在學習編譯原理,原因是這么多年以來,一直做企業資訊應用系統方面的開發,對于開發具體的業務功能當然早就駕輕就熟,不過當想進一步開發相對基礎的功能,比如報表,模版或者動態表單什么的,就有點力不從心,但是,以現在行業技術的發展來看,已經不可能再停留在開發業務代碼的程度上了,尤其是近年來,出現了越來越多的所謂無代碼開發平臺,如果不能跟進學習,自己恐怕也要被淘汰了,所以,就只能下定決心,由基礎開始從頭學起,算是補上原來的課吧,
我是在極客時間上,跟著宮文學老師專欄《編譯原理之美》學的,剛開始學,了解了些基本概念,
編譯技術分為前端技術和后端技術,前端技術是指編譯器對程式代碼的分析和理解程序,后端技術則是編譯器將程式代碼生成目標機器可以執行的目標代碼的程序,
其中前端技術又分為三個階段,一, 詞法分析 ,二,語法分析,三,語意分析,
一,詞法分析是指將程式代碼進行分詞的程序,這個里面涉及到了 正則運算式 和有限自動機的概念,
二,語法分析是將詞法分析獲得的一個個單詞識別出程式的語法結構,組合抽象語法樹(AST),涉及到了 遞回下降演算法,二元運算式,等概念,
三,語意分析是根據語意規則進行分析判斷,將分析判斷的結果作為屬性標注在抽象語法樹上,
基本上學完編譯原理的前端技術,應該就可以自己設計一個簡單的腳本語言或者簡單的模版引擎了,
希望能堅持學下去,做出一個成果出來吧,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/207467.html
標籤:其他
上一篇:深度優先搜索和廣度優先搜索
下一篇:深度優先搜索和廣度優先搜索
