本節文章研究的代碼位於 tsc/src/compiler/scanner.ts 字符 任何源碼都是由很多字符組成的,這些字符可以是字母、數字、空格、符號、漢字等…… 每一個字符都有一個編碼值,比如字符“a”的編碼值是97,字符“林”的編碼值是26519。 每個字符對應的編碼值是多少 ...
在上一節介紹了標記的解析,就相當於識別了一句話里有哪些詞語,接下來就是把這些詞語組成完整的句子,即拼裝標記為語法樹。 樹 tree 樹是計算機數據結構里的專業術語。就像一個學校有很多年級,每個年級下面有很多班,每個班級下面有很多學生,這種組織結構就叫樹。 組成樹的每個部分稱為節點 Node 最頂層的節點 即例子中的學校 稱為根節點 Root Node 和每個節點的下級節點稱為這個節點的子節點 Ch ...
2020-01-28 15:16 2 1451 推薦指數:
本節文章研究的代碼位於 tsc/src/compiler/scanner.ts 字符 任何源碼都是由很多字符組成的,這些字符可以是字母、數字、空格、符號、漢字等…… 每一個字符都有一個編碼值,比如字符“a”的編碼值是97,字符“林”的編碼值是26519。 每個字符對應的編碼值是多少 ...
TypeScript 由微軟在 2012 年 10 月首發,經過幾年的發展,已經成為國內外很多前端團隊的首選編程語言。前端三大框架中的 Angular 和 Vue 3 也都改用了 TypeScript 開發。即使很多人沒直接用過 TypeScript,他們也在通過 VSCode 提供的智能提示功能 ...
TypeScript 是微軟開發的 JavaScript 的超集,TypeScript兼容JavaScript,可以載入JavaScript代碼然后運行。TypeScript與JavaScript相比進步的地方 包括:加入注釋,讓編譯器理解所支持的對象和函數,編譯器會移除注釋,不會增加 ...
TypeScript 基本語法 TypeScript 是微軟開發的 JavaScript 的超集,TypeScript兼容JavaScript,可以載入JavaScript代碼然后運行。TypeScript與JavaScript相比進步的地方 包括:加入注釋 ...
先來講一講TypeScript出現的背景 前端javascript的編程思想與后端java面向對象的編程思想有很大的不同,微軟公司借鑒了coffeescript語言,繼承了很多C#和java的編程思想,推出了TypeScript。期間隨着js的升級換代出了ES6,微軟的TypeScript ...
在上一節介紹了語法樹的結構,本節則介紹如何解析標記組成語法樹。 對應的源碼位於 src/compiler/parser.ts。 入口函數 要解析一份源碼,輸入當然是源碼內容(字符串),同時還提供路徑(用於報錯)、語言版本(比如ES3 和 ES5 在有些細節 ...
何為語法樹 什么是語法樹? 你是否曾想過,這個世界存在這么多語言的意義。 假如現在你面前有一個物體,它是一個不規則的圓體,整個身體通紅,頭部還有一根細長稍微彎曲偏右呈棕色的圓柱體。在中文我們稱之為「蘋果」,在英文我們稱之為「Apple」,在日文中我們稱之為「アップル ...
在上一節主要介紹了單個字符的處理,現在我們已經有了對單個字符分析的能力,比如: 判斷字符是否是換行符:isLineBreak 判斷字符是否是空格:isWhiteSpaceSingleLin ...