iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Modern Web

Parser 的深入研究 系列

Bebal . Sass . Vue ...等

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

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

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

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

[Day01] - 參賽的起因 & 研究的動機

大家好 , 我是第三年參加的 Tree , 很開心可以參加 IThome 鐵人賽 , 也很感謝 六角的同學 願意接受我的推坑 , 組隊一起參加今年的挑戰 身為推...

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

[Day02] - Parser 是什麼,可以吃嗎?

昨天說了很多次 Parser,但是那到底是是什麼呢? 其實 Parser 的其中一類就是將文字做解析的並將其轉換成 抽象語法樹(Abstract Syntax...

2022-09-17 ‧ 由 Tree 分享
DAY 3

[Day03] - .env 規則說明與解析準備

工欲善其事,必先了解規則 讓我們先熟悉一下 , .env 有哪些規則吧 .env Format Rules 1. 參數 ( = 前面是 key , 後面是...

2022-09-18 ‧ 由 Tree 分享
DAY 4

[Day04] - 逐行分析 ( Line By Line Parse )

昨天我們提到了 .env 的四大規則,今天我們來看看這些規則可以如何被解析吧 ! 解析方法一:逐行解析 我們先研究一下, .env 的規則要如何用 code 來...

2022-09-19 ‧ 由 Tree 分享
DAY 5

[Day05] - Tokenizer - 逐字分析 ( Word By Word Tokenizer )

昨天介紹了逐行解析 , 今天我們來說明另一個解析方法 逐字解析 吧 ~ 解析方法二:逐字解析 逐字解析會需要經歷兩個步驟 , 才會變成像昨天一樣的 AST 將...

2022-09-20 ‧ 由 Tree 分享
DAY 6

[Day06] - 逐字分析的行前準備(一) - 狀態機介紹

狀態機 狀態機是一種抽象的機器,它有一個或多個狀態,由不同條件控制狀態的轉換,並且在不同狀態下有不同的行為。 上圖為電梯簡化的狀態圖,它有兩個狀態:門已關、門...

2022-09-21 ‧ 由 Tree 分享
DAY 7

[Day07] - 逐字分析的行前準備(二) - .env 的狀態圖

前情提要 在 day-03 我們建立了一個 .env-sample 的檔案,今天我們要用 狀態機 的方式來解析這個檔案。 第一步,回顧 .env-sample...

2022-09-22 ‧ 由 Tree 分享
DAY 8

[Day08] - 逐字分析成品 - myDotEnvTokenizer.js

昨天我們分析了狀態變更的規則 & 狀態圖,今天我們來將昨天的分析實做出來。 第零步,讀取檔案 & 轉換成字元陣列 // 讀取檔案內容 cons...

2022-09-23 ‧ 由 Tree 分享
DAY 9

[Day09] - 逐字分析之 Parser - Tokens to AST

複習一下,逐字分析會經過兩個步驟 Tokenizer 跟 Parser 下面我們來說明 & 實作此 Parser 吧 ~ 第零步,複習一下目標的輸入...

2022-09-24 ‧ 由 Tree 分享
DAY 10

[Day10] - HTML 解析前行前說明

接下來我們根據之前的步驟來分析 HTML ,想辦法生成它的 Tokenizer 跟 Parser 吧 ~ 歸納出 狀態圖 利用狀態圖實做出 Tokenize...

2022-09-25 ‧ 由 Tree 分享