iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Modern Web

Parser 的深入研究 系列

Bebal . Sass . Vue ...等

許多前端工具都是利用 Parser 將我們寫的程式碼,轉換成瀏覽器所看的懂的

html . css 跟 JavaScript,不過他們內部是如何運作的呢?

接下來的這 30 天,來好好的探索一下吧 ~

鐵人鍊成 | 共 32 篇文章 | 5 人訂閱 訂閱系列文 RSS系列文 團隊週六 Podcast 團
DAY 11

[Day11] - HTML 的狀態圖分析

今天我們來分析一下 HTML 的狀態圖 ~ 第一步,回顧輸入文字 & 目標 Tokens 輸入的文字 <div> <p>...

2022-09-26 ‧ 由 Tree 分享
DAY 12

[Day12] - HTML 的 Tokenizer 實作

昨天我們分析了 HTML 的狀態圖,今天我們來實作一下 HTML 的 Tokenizer 吧! 第零步,重新確定輸入 & 輸出 預計輸入 - samp...

2022-09-27 ‧ 由 Tree 分享
DAY 13

[Day13] - 簡易 HTML 的 Parse 實作示意圖

如何將 HTML 的 Tokens 轉換成目標 AST 呢? 今天我們來說明一下 第零步,確定輸入 & 輸出 預期輸出 - Tokens const...

2022-09-28 ‧ 由 Tree 分享
DAY 14

[Day14] - 簡易 HTML 的 Parse 實作

昨天我們分析 HTML Tokens 要轉換成 AST 需要利用 elementStack 來輔助,今天我們就來實作一下。 複習一下 遇到不同的 token 要...

2022-09-29 ‧ 由 Tree 分享
DAY 15

[Day15] - HTML 加 attr 的狀態圖分析

先複習一下, [Day-11] 我們是如何分析狀態圖的 ? 第一步,確認 輸入的文字 & 預期的輸出 Tokens 第二步,整理出關鍵的字元 第三步...

2022-09-30 ‧ 由 Tree 分享
DAY 16

[Day16] - HTML 加 attr 的 Tokenizer

額外小知識 void element 有些 HTML tag 是不需要結尾的,也會被自動認定成 tagSelfClose,像是 <img> &l...

2022-10-01 ‧ 由 Tree 分享
DAY 17

[Day17] - attrStr 的 tokenizer

昨天的 HTML 分析出的 Tokenizer,可以改良 [Day14] 的 Parser 轉換成以下的 AST 改良方式 : token.type ===...

2022-10-02 ‧ 由 Tree 分享
DAY 18

[Day18] - HTML SPEC 的 Parser 部分

HTML SPEC 是什麼 ? From Wiki 網頁超文字應用技術工作小組(英語:Web Hypertext Application Technolog...

2022-10-03 ‧ 由 Tree 分享
DAY 19

[Day19] - 樹狀結構 TREE 的遍歷 (Traverse)

前言 演算法中有個經典的問題:樹狀結構,要把它的每個節點都拜訪一次呢? 用途:[day-17] 的樹狀結構,走訪每個 node 就可以將每個 node 的 a...

2022-10-04 ‧ 由 Tree 分享
DAY 20

[Day20] - 將 AST 轉換成 HTML DOM 元素 - Renderer

前言 day-10 到 day-19 我們花了 10 天說明如何將 HTML 轉換成 AST, 經歷了下圖的流程 那當我們拿到 AST 之後,我們要怎麼像 V...

2022-10-05 ‧ 由 Tree 分享