原文:TypeScript 源碼詳細解讀(4)語法1-語法樹

在上一節介紹了標記的解析,就相當於識別了一句話里有哪些詞語,接下來就是把這些詞語組成完整的句子,即拼裝標記為語法樹。 樹 tree 樹是計算機數據結構里的專業術語。就像一個學校有很多年級,每個年級下面有很多班,每個班級下面有很多學生,這種組織結構就叫樹。 組成樹的每個部分稱為節點 Node 最頂層的節點 即例子中的學校 稱為根節點 Root Node 和每個節點的下級節點稱為這個節點的子節點 Ch ...

2020-01-28 15:16 2 1451 推薦指數:

查看詳情

TypeScript 源碼詳細解讀(2)詞法1-字符處理

本節文章研究的代碼位於 tsc/src/compiler/scanner.ts 字符 任何源碼都是由很多字符組成的,這些字符可以是字母、數字、空格、符號、漢字等…… 每一個字符都有一個編碼值,比如字符“a”的編碼值是97,字符“林”的編碼值是26519。 每個字符對應的編碼值是多少 ...

Mon Jan 13 23:31:00 CST 2020 2 1433
TypeScript 源碼詳細解讀(1)總覽

TypeScript 由微軟在 2012 年 10 月首發,經過幾年的發展,已經成為國內外很多前端團隊的首選編程語言。前端三大框架中的 Angular 和 Vue 3 也都改用了 TypeScript 開發。即使很多人沒直接用過 TypeScript,他們也在通過 VSCode 提供的智能提示功能 ...

Mon Jan 13 20:14:00 CST 2020 1 2970
TypeScript 基本語法

TypeScript 是微軟開發的 JavaScript 的超集,TypeScript兼容JavaScript,可以載入JavaScript代碼然后運行。TypeScript與JavaScript相比進步的地方 包括:加入注釋,讓編譯器理解所支持的對象和函數,編譯器會移除注釋,不會增加 ...

Mon Jun 15 06:34:00 CST 2015 6 39280
TypeScript 基本語法

TypeScript 基本語法 TypeScript 是微軟開發的 JavaScript 的超集,TypeScript兼容JavaScript,可以載入JavaScript代碼然后運行。TypeScript與JavaScript相比進步的地方 包括:加入注釋 ...

Wed Jun 17 05:55:00 CST 2015 0 2781
typescript語法

先來講一講TypeScript出現的背景 前端javascript的編程思想與后端java面向對象的編程思想有很大的不同,微軟公司借鑒了coffeescript語言,繼承了很多C#和java的編程思想,推出了TypeScript。期間隨着js的升級換代出了ES6,微軟的TypeScript ...

Fri Mar 09 18:00:00 CST 2018 1 1914
TS 原理詳細解讀(5)語法2-語法解析

在上一節介紹了語法的結構,本節則介紹如何解析標記組成語法。 對應的源碼位於 src/compiler/parser.ts。 入口函數 要解析一份源碼,輸入當然是源碼內容(字符串),同時還提供路徑(用於報錯)、語言版本(比如ES3 和 ES5 在有些細節 ...

Sun Feb 09 06:50:00 CST 2020 3 1751
語法

何為語法 什么是語法? 你是否曾想過,這個世界存在這么多語言的意義。 假如現在你面前有一個物體,它是一個不規則的圓體,整個身體通紅,頭部還有一根細長稍微彎曲偏右呈棕色的圓柱體。在中文我們稱之為「蘋果」,在英文我們稱之為「Apple」,在日文中我們稱之為「アップル ...

Thu Oct 19 23:12:00 CST 2017 0 6881
TypeScript 源碼詳細解讀(3)詞法2-標記解析

在上一節主要介紹了單個字符的處理,現在我們已經有了對單個字符分析的能力,比如: 判斷字符是否是換行符:isLineBreak 判斷字符是否是空格:isWhiteSpaceSingleLin ...

Sun Jan 19 07:56:00 CST 2020 0 1186
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM