SlideShare ist ein Scribd-Unternehmen logo
1 von 85
Downloaden Sie, um offline zu lesen
邏輯語為何從 BNF 轉向 PEG ?
陳鍾誠
ccckmit@gmail.com
2015 年 11 月 5 日
程式人程式人
lojbanlojban
話說
● 2015 年 10 月的某一天
● 我遇到了邏輯語
詳情請看
● http://www.slideshare.net/ccckmit/lojban
經過了一週的學習之後
我發現
● 目前的邏輯語社群,有一個
很嚴重的爭議
這個爭議
● 是有關邏輯語的語法
● 以及邏輯語的 parse 問題
語法有甚麼問題呢 ?
說來話長
首先、讓我們看一下
● 邏輯語的 BNF
BNF ?
● Backus-Naur Form
● 一種用來描述語法的語法
● 可以說是一種
–Meta Language
邏輯語的 BNF 位於
你可以看到
● 目前語法為第三版
–3rd
baseline
● 而且正在提出第四版的草案
問題是
● 第三版的語法,是在 1997 年定義的
距離現在已經有 18 年了
那麼、為何要定義第四版呢?
當然
● 這代表語法不夠完美
● 而且、是很不完美
為何不完美 ?
讓我們看一下語法
您可以看到
● 很多項目還分 1,2,3,…
這還不打緊、問題是
● 當 BNF 要轉為 parser 程式時
● 通常要使用像 YACC,Bison 這
樣的工具
於是、語法要改寫
● 以符合 YACC, Bison 的寫法
而這個改寫後的版本
● 稱為 grammar.300
接著有個叫 John Cowan 的人
● 用它創建了一個 parser
奇怪的是、這個 parser
● 目前還停留在 DOS 版
而支援 web 的 parser
● 則不是 John Cowan 寫的
雖然、這很正常
● 寫 DOS 程式不會寫 WEB 的人
● 隨便找都很多
但是
● 新版的 parser
– 有些不支援舊版的標準語法 (3.0)
– 只支援 4.0 的實驗性語法
還好
● ilmen 寫的 ilmentufa
有支援舊版的正式官方語法
讓我們來用用看
看起來好像不錯
● 但是如果我們切到 raw output 模式
您會看到這個畫面
再看深一點
發現甚麼問題了嗎 ?
● 舊版的剖析樹很深、很深
如果改成 condensed 模式
● 會看到這個畫面
很難看懂 !
這還不打緊
● 假如我們將《北風與太陽》
這篇故事的邏輯語,放進去
剖析
http://mw.lojban.org/extensions/ilmentufa/o/
會得到這個結果
還好、只要我們將換行拿掉
● 變成這樣
就可以正常 parse 了
如果用 prettified 模式
結果會好看很多!
假如果我們切到新版 4.0 的實驗性語法上
● 會看到這個結果
但不管是甚麼模式
● 速度都很慢
● 北風與太陽短短一兩百字
● 得花上五秒鐘才能剖析完
對於常用編譯器的程式人而言
● 這很難接受!
因為
● 幾千行甚至萬行的程式碼
● 通常編譯也不會花這麼久
那麼為何?
● ilmentufa 要這麼久呢?
讓我們繼續追根究柢
● 肉搜出 ilmentufa 的原始碼
發現果然在 github 裏面
仔細看
您會發現
● ilmentufa 專案中有很多
以 peg 為附檔名的檔案
● 並且採用了 peg.js 這個專案
來將這些 peg 語法轉換為程式
這就是 PEG.js 的官網
問題是
● PEG.js 真的比較慢嗎 ?
讓我們 google 一下
發現以下網頁
其中實測了 PEG.js 的速度
您可以看到 PEG.js 真的很慢
● 比 jison 慢 10 倍以上
● 比 Narcissus 慢一百倍以上
為何 Narcissus 可以這麼快?
● 因為 Narcissus 是手工打造的
javascript compiler
● 而不是用 compiler compiler
將 BNF/PEG 轉為 compiler 的
但是 jison 和 PEG.js 很像
● 只是 jison 採用 BNF 語法
● 而 PEG.js 採用 PEG 語法
雖然 PEG 語法比 BNF 稍強
● 但是這代價未免也太大了。
我想,邏輯語的新版 parser 開發者
● 應該是為了簡化剖析過程的
難度,決定採用了 PEG
而且這些 parser
● 幾乎都衍生自 camxes 這個核心
版本
● 因此都採用 PEG 也就不令人意外
了。
但是衍生的效應就是
● Parse 速度非常非常慢!
那麼,採用 PEG 有甚麼好處呢?
我繼續追根究柢
● 結果發現這篇文章
– Issues With The Lojban Formal Grammar
– http://users.digitalkingdom.org/~rlpowell/hobbies/lojban/grammar/
Issues With The Lojban Formal Grammar
這篇文章最後一段提到下列問題
這個問題
● 是關於 elidable terminators 的
● 它會造成 longest-match disambiguation
● 如果要解決會造成語法大膨脹
it would be Very, VERY hard. I would be
surprised if it could be done without expanding
the grammar by a factor of 20 or so. No, that's
not an exaggeration or a joke.
那麼
● 到底 elidable terminators 是甚麼東東呢 ?
繼續追下去、我們查到這個
問題是
● 這些邏輯語的字我全都不認識
只好查字典
查第一個 be'o
再查第二個 boi
再查第三個 do'u
再查第四個 fe'u
再查第五個 ge'u
再查第六個 ge'u
再查第七個 ke'e
應該查得夠多了!
● 我想得回去學學邏輯語
但是、我猜測
● 這些詞代表某個子句或項目的結
尾
● 而且子句或項目可能很長
● 因此造成難以處理的情況
這也正是
● 為何要從 BNF 切換到 PEG 的原因
● 但是切換到 PEG 的代價實在太大
● 速度慢上十倍!
我想
● 這會是個值得研究的問題
但是要研究之前
● 先讓我再多學一些邏輯語
● 否則只能瞎子摸象了!
再見了!
Good bye
Co'o ro do

Weitere ähnliche Inhalte

Was ist angesagt?

用十分鐘瞭解 《開放原始碼的世界》
用十分鐘瞭解  《開放原始碼的世界》用十分鐘瞭解  《開放原始碼的世界》
用十分鐘瞭解 《開放原始碼的世界》鍾誠 陳鍾誠
 
用十分鐘 向jserv學習作業系統設計
用十分鐘  向jserv學習作業系統設計用十分鐘  向jserv學習作業系統設計
用十分鐘 向jserv學習作業系統設計鍾誠 陳鍾誠
 
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》鍾誠 陳鍾誠
 
用十分鐘瞭解 Tensorflow.js (Google的JavaScript深度學習套件)
用十分鐘瞭解 Tensorflow.js   (Google的JavaScript深度學習套件)  用十分鐘瞭解 Tensorflow.js   (Google的JavaScript深度學習套件)
用十分鐘瞭解 Tensorflow.js (Google的JavaScript深度學習套件) 鍾誠 陳鍾誠
 
人造交談語言 (使用有BNF的口語透過機器翻譯和外國人溝通)
人造交談語言  (使用有BNF的口語透過機器翻譯和外國人溝通)人造交談語言  (使用有BNF的口語透過機器翻譯和外國人溝通)
人造交談語言 (使用有BNF的口語透過機器翻譯和外國人溝通)鍾誠 陳鍾誠
 
利用Javascript 與 html5開發線上遊戲_0基本概念
利用Javascript 與 html5開發線上遊戲_0基本概念利用Javascript 與 html5開發線上遊戲_0基本概念
利用Javascript 與 html5開發線上遊戲_0基本概念azole Lai
 
用十分鐘《讓你的專案一開始就搞砸》!
用十分鐘《讓你的專案一開始就搞砸》!用十分鐘《讓你的專案一開始就搞砸》!
用十分鐘《讓你的專案一開始就搞砸》!鍾誠 陳鍾誠
 
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!
《計算機結構與作業系統裏》--  資工系學生們經常搞錯的那些事兒!《計算機結構與作業系統裏》--  資工系學生們經常搞錯的那些事兒!
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!鍾誠 陳鍾誠
 
那些年、我們還沒學會就已經過時的那些技術
那些年、我們還沒學會就已經過時的那些技術那些年、我們還沒學會就已經過時的那些技術
那些年、我們還沒學會就已經過時的那些技術鍾誠 陳鍾誠
 
相容於node.js的 網頁型桌面程式設計 (使用Electron.js 開發)
相容於node.js的 網頁型桌面程式設計  (使用Electron.js 開發)相容於node.js的 網頁型桌面程式設計  (使用Electron.js 開發)
相容於node.js的 網頁型桌面程式設計 (使用Electron.js 開發)鍾誠 陳鍾誠
 
用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端鍾誠 陳鍾誠
 
人工智慧的開放資源
人工智慧的開放資源人工智慧的開放資源
人工智慧的開放資源鍾誠 陳鍾誠
 
用十分鐘瞭解 《人工智慧的那些問題與方法》
用十分鐘瞭解  《人工智慧的那些問題與方法》 用十分鐘瞭解  《人工智慧的那些問題與方法》
用十分鐘瞭解 《人工智慧的那些問題與方法》 鍾誠 陳鍾誠
 
用十分鐘快速瞭解 《人工智慧的過去、現在與未來》
用十分鐘快速瞭解  《人工智慧的過去、現在與未來》用十分鐘快速瞭解  《人工智慧的過去、現在與未來》
用十分鐘快速瞭解 《人工智慧的過去、現在與未來》鍾誠 陳鍾誠
 
如何用連登 data 訓練廣東話 chatbot (How to use data from a popular forum to train a Can...
如何用連登 data 訓練廣東話 chatbot (How to use data from a popular forum to train a Can...如何用連登 data 訓練廣東話 chatbot (How to use data from a popular forum to train a Can...
如何用連登 data 訓練廣東話 chatbot (How to use data from a popular forum to train a Can...Oursky
 
深度學習的捲積神經網路 -- (使用JavaScript / node.js實作)
深度學習的捲積神經網路 -- (使用JavaScript / node.js實作)深度學習的捲積神經網路 -- (使用JavaScript / node.js實作)
深度學習的捲積神經網路 -- (使用JavaScript / node.js實作)鍾誠 陳鍾誠
 
第12回AS讀書會
第12回AS讀書會第12回AS讀書會
第12回AS讀書會Etrex Kuo
 
用十分鐘學會道本語 (用120個單字就能和外國人交談)
用十分鐘學會道本語  (用120個單字就能和外國人交談)用十分鐘學會道本語  (用120個單字就能和外國人交談)
用十分鐘學會道本語 (用120個單字就能和外國人交談)鍾誠 陳鍾誠
 

Was ist angesagt? (18)

用十分鐘瞭解 《開放原始碼的世界》
用十分鐘瞭解  《開放原始碼的世界》用十分鐘瞭解  《開放原始碼的世界》
用十分鐘瞭解 《開放原始碼的世界》
 
用十分鐘 向jserv學習作業系統設計
用十分鐘  向jserv學習作業系統設計用十分鐘  向jserv學習作業系統設計
用十分鐘 向jserv學習作業系統設計
 
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
 
用十分鐘瞭解 Tensorflow.js (Google的JavaScript深度學習套件)
用十分鐘瞭解 Tensorflow.js   (Google的JavaScript深度學習套件)  用十分鐘瞭解 Tensorflow.js   (Google的JavaScript深度學習套件)
用十分鐘瞭解 Tensorflow.js (Google的JavaScript深度學習套件)
 
人造交談語言 (使用有BNF的口語透過機器翻譯和外國人溝通)
人造交談語言  (使用有BNF的口語透過機器翻譯和外國人溝通)人造交談語言  (使用有BNF的口語透過機器翻譯和外國人溝通)
人造交談語言 (使用有BNF的口語透過機器翻譯和外國人溝通)
 
利用Javascript 與 html5開發線上遊戲_0基本概念
利用Javascript 與 html5開發線上遊戲_0基本概念利用Javascript 與 html5開發線上遊戲_0基本概念
利用Javascript 與 html5開發線上遊戲_0基本概念
 
用十分鐘《讓你的專案一開始就搞砸》!
用十分鐘《讓你的專案一開始就搞砸》!用十分鐘《讓你的專案一開始就搞砸》!
用十分鐘《讓你的專案一開始就搞砸》!
 
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!
《計算機結構與作業系統裏》--  資工系學生們經常搞錯的那些事兒!《計算機結構與作業系統裏》--  資工系學生們經常搞錯的那些事兒!
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!
 
那些年、我們還沒學會就已經過時的那些技術
那些年、我們還沒學會就已經過時的那些技術那些年、我們還沒學會就已經過時的那些技術
那些年、我們還沒學會就已經過時的那些技術
 
相容於node.js的 網頁型桌面程式設計 (使用Electron.js 開發)
相容於node.js的 網頁型桌面程式設計  (使用Electron.js 開發)相容於node.js的 網頁型桌面程式設計  (使用Electron.js 開發)
相容於node.js的 網頁型桌面程式設計 (使用Electron.js 開發)
 
用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端
 
人工智慧的開放資源
人工智慧的開放資源人工智慧的開放資源
人工智慧的開放資源
 
用十分鐘瞭解 《人工智慧的那些問題與方法》
用十分鐘瞭解  《人工智慧的那些問題與方法》 用十分鐘瞭解  《人工智慧的那些問題與方法》
用十分鐘瞭解 《人工智慧的那些問題與方法》
 
用十分鐘快速瞭解 《人工智慧的過去、現在與未來》
用十分鐘快速瞭解  《人工智慧的過去、現在與未來》用十分鐘快速瞭解  《人工智慧的過去、現在與未來》
用十分鐘快速瞭解 《人工智慧的過去、現在與未來》
 
如何用連登 data 訓練廣東話 chatbot (How to use data from a popular forum to train a Can...
如何用連登 data 訓練廣東話 chatbot (How to use data from a popular forum to train a Can...如何用連登 data 訓練廣東話 chatbot (How to use data from a popular forum to train a Can...
如何用連登 data 訓練廣東話 chatbot (How to use data from a popular forum to train a Can...
 
深度學習的捲積神經網路 -- (使用JavaScript / node.js實作)
深度學習的捲積神經網路 -- (使用JavaScript / node.js實作)深度學習的捲積神經網路 -- (使用JavaScript / node.js實作)
深度學習的捲積神經網路 -- (使用JavaScript / node.js實作)
 
第12回AS讀書會
第12回AS讀書會第12回AS讀書會
第12回AS讀書會
 
用十分鐘學會道本語 (用120個單字就能和外國人交談)
用十分鐘學會道本語  (用120個單字就能和外國人交談)用十分鐘學會道本語  (用120個單字就能和外國人交談)
用十分鐘學會道本語 (用120個單字就能和外國人交談)
 

Andere mochten auch

網路社群經營與雲端應用
網路社群經營與雲端應用網路社群經營與雲端應用
網路社群經營與雲端應用鍾誠 陳鍾誠
 
程式人的寫作與出版
程式人的寫作與出版程式人的寫作與出版
程式人的寫作與出版鍾誠 陳鍾誠
 
《八卦語寫作手冊》
《八卦語寫作手冊》《八卦語寫作手冊》
《八卦語寫作手冊》鍾誠 陳鍾誠
 
用十分鐘瞭解早期的科學史 (從埃及到文藝復興)
用十分鐘瞭解早期的科學史  (從埃及到文藝復興)用十分鐘瞭解早期的科學史  (從埃及到文藝復興)
用十分鐘瞭解早期的科學史 (從埃及到文藝復興)鍾誠 陳鍾誠
 
一個程式人對物理學的疑惑 , 以及對新物理學的奇幻想法
一個程式人對物理學的疑惑 , 以及對新物理學的奇幻想法一個程式人對物理學的疑惑 , 以及對新物理學的奇幻想法
一個程式人對物理學的疑惑 , 以及對新物理學的奇幻想法鍾誠 陳鍾誠
 
微積分& 工程數學 (第二版)
微積分& 工程數學 (第二版)微積分& 工程數學 (第二版)
微積分& 工程數學 (第二版)鍾誠 陳鍾誠
 
關於華山派的一些往事
關於華山派的一些往事關於華山派的一些往事
關於華山派的一些往事鍾誠 陳鍾誠
 
關於偉大航道的夢想 (Maker型學習中心成立記)
關於偉大航道的夢想  (Maker型學習中心成立記)關於偉大航道的夢想  (Maker型學習中心成立記)
關於偉大航道的夢想 (Maker型學習中心成立記)鍾誠 陳鍾誠
 
金觀濤的理論 -- 工業革命為何沒發生在中國?
金觀濤的理論  -- 工業革命為何沒發生在中國? 金觀濤的理論  -- 工業革命為何沒發生在中國?
金觀濤的理論 -- 工業革命為何沒發生在中國? 鍾誠 陳鍾誠
 
用十分鐘瞭解 《電的歷史》
用十分鐘瞭解 《電的歷史》用十分鐘瞭解 《電的歷史》
用十分鐘瞭解 《電的歷史》鍾誠 陳鍾誠
 
從《太極語》到《兩儀語》
從《太極語》到《兩儀語》從《太極語》到《兩儀語》
從《太極語》到《兩儀語》鍾誠 陳鍾誠
 
用十分鐘 瞭解《黃仁宇、吳思、金觀濤》的史學看法
用十分鐘 瞭解《黃仁宇、吳思、金觀濤》的史學看法用十分鐘 瞭解《黃仁宇、吳思、金觀濤》的史學看法
用十分鐘 瞭解《黃仁宇、吳思、金觀濤》的史學看法鍾誠 陳鍾誠
 
邏輯語的文法 -- Lojban grammar
邏輯語的文法 -- Lojban grammar邏輯語的文法 -- Lojban grammar
邏輯語的文法 -- Lojban grammar鍾誠 陳鍾誠
 
Introduction to Methods of Applied Mathematics
Introduction to Methods of Applied MathematicsIntroduction to Methods of Applied Mathematics
Introduction to Methods of Applied Mathematics鍾誠 陳鍾誠
 
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》
用十分鐘瞭解陳鍾誠的  《課程、教材與學習方法》用十分鐘瞭解陳鍾誠的  《課程、教材與學習方法》
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》鍾誠 陳鍾誠
 
用十分鐘搞懂 《系統分析、軟體工程、專案管理與設計模式》
用十分鐘搞懂   《系統分析、軟體工程、專案管理與設計模式》用十分鐘搞懂   《系統分析、軟體工程、專案管理與設計模式》
用十分鐘搞懂 《系統分析、軟體工程、專案管理與設計模式》鍾誠 陳鍾誠
 
從《四象語》到《八卦語》
從《四象語》到《八卦語》從《四象語》到《八卦語》
從《四象語》到《八卦語》鍾誠 陳鍾誠
 
程式人雜誌 -- 2013 年 2 月號
程式人雜誌 -- 2013 年 2 月號程式人雜誌 -- 2013 年 2 月號
程式人雜誌 -- 2013 年 2 月號鍾誠 陳鍾誠
 

Andere mochten auch (20)

網路社群經營與雲端應用
網路社群經營與雲端應用網路社群經營與雲端應用
網路社群經營與雲端應用
 
程式人的寫作與出版
程式人的寫作與出版程式人的寫作與出版
程式人的寫作與出版
 
高橋流微積分
高橋流微積分高橋流微積分
高橋流微積分
 
《八卦語寫作手冊》
《八卦語寫作手冊》《八卦語寫作手冊》
《八卦語寫作手冊》
 
用十分鐘瞭解早期的科學史 (從埃及到文藝復興)
用十分鐘瞭解早期的科學史  (從埃及到文藝復興)用十分鐘瞭解早期的科學史  (從埃及到文藝復興)
用十分鐘瞭解早期的科學史 (從埃及到文藝復興)
 
一個程式人對物理學的疑惑 , 以及對新物理學的奇幻想法
一個程式人對物理學的疑惑 , 以及對新物理學的奇幻想法一個程式人對物理學的疑惑 , 以及對新物理學的奇幻想法
一個程式人對物理學的疑惑 , 以及對新物理學的奇幻想法
 
微積分& 工程數學 (第二版)
微積分& 工程數學 (第二版)微積分& 工程數學 (第二版)
微積分& 工程數學 (第二版)
 
關於華山派的一些往事
關於華山派的一些往事關於華山派的一些往事
關於華山派的一些往事
 
關於偉大航道的夢想 (Maker型學習中心成立記)
關於偉大航道的夢想  (Maker型學習中心成立記)關於偉大航道的夢想  (Maker型學習中心成立記)
關於偉大航道的夢想 (Maker型學習中心成立記)
 
金觀濤的理論 -- 工業革命為何沒發生在中國?
金觀濤的理論  -- 工業革命為何沒發生在中國? 金觀濤的理論  -- 工業革命為何沒發生在中國?
金觀濤的理論 -- 工業革命為何沒發生在中國?
 
用十分鐘瞭解 《電的歷史》
用十分鐘瞭解 《電的歷史》用十分鐘瞭解 《電的歷史》
用十分鐘瞭解 《電的歷史》
 
微積分
微積分微積分
微積分
 
從《太極語》到《兩儀語》
從《太極語》到《兩儀語》從《太極語》到《兩儀語》
從《太極語》到《兩儀語》
 
用十分鐘 瞭解《黃仁宇、吳思、金觀濤》的史學看法
用十分鐘 瞭解《黃仁宇、吳思、金觀濤》的史學看法用十分鐘 瞭解《黃仁宇、吳思、金觀濤》的史學看法
用十分鐘 瞭解《黃仁宇、吳思、金觀濤》的史學看法
 
邏輯語的文法 -- Lojban grammar
邏輯語的文法 -- Lojban grammar邏輯語的文法 -- Lojban grammar
邏輯語的文法 -- Lojban grammar
 
Introduction to Methods of Applied Mathematics
Introduction to Methods of Applied MathematicsIntroduction to Methods of Applied Mathematics
Introduction to Methods of Applied Mathematics
 
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》
用十分鐘瞭解陳鍾誠的  《課程、教材與學習方法》用十分鐘瞭解陳鍾誠的  《課程、教材與學習方法》
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》
 
用十分鐘搞懂 《系統分析、軟體工程、專案管理與設計模式》
用十分鐘搞懂   《系統分析、軟體工程、專案管理與設計模式》用十分鐘搞懂   《系統分析、軟體工程、專案管理與設計模式》
用十分鐘搞懂 《系統分析、軟體工程、專案管理與設計模式》
 
從《四象語》到《八卦語》
從《四象語》到《八卦語》從《四象語》到《八卦語》
從《四象語》到《八卦語》
 
程式人雜誌 -- 2013 年 2 月號
程式人雜誌 -- 2013 年 2 月號程式人雜誌 -- 2013 年 2 月號
程式人雜誌 -- 2013 年 2 月號
 

Mehr von 鍾誠 陳鍾誠

用十分鐘瞭解 新竹科學園區的發展史
用十分鐘瞭解  新竹科學園區的發展史用十分鐘瞭解  新竹科學園區的發展史
用十分鐘瞭解 新竹科學園區的發展史鍾誠 陳鍾誠
 
用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus鍾誠 陳鍾誠
 
交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥鍾誠 陳鍾誠
 
smallpt: Global Illumination in 99 lines of C++
smallpt:  Global Illumination in 99 lines of C++smallpt:  Global Illumination in 99 lines of C++
smallpt: Global Illumination in 99 lines of C++鍾誠 陳鍾誠
 
西洋史 (你或許不知道但卻影響現代教育的那些事)
西洋史  (你或許不知道但卻影響現代教育的那些事)西洋史  (你或許不知道但卻影響現代教育的那些事)
西洋史 (你或許不知道但卻影響現代教育的那些事)鍾誠 陳鍾誠
 
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列鍾誠 陳鍾誠
 
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列鍾誠 陳鍾誠
 
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列鍾誠 陳鍾誠
 
用十分鐘理解 《微分方程》
用十分鐘理解  《微分方程》用十分鐘理解  《微分方程》
用十分鐘理解 《微分方程》鍾誠 陳鍾誠
 
系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作鍾誠 陳鍾誠
 
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統鍾誠 陳鍾誠
 
系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統鍾誠 陳鍾誠
 
系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器鍾誠 陳鍾誠
 
系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器鍾誠 陳鍾誠
 
系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言鍾誠 陳鍾誠
 
系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器鍾誠 陳鍾誠
 
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入鍾誠 陳鍾誠
 
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器鍾誠 陳鍾誠
 

Mehr von 鍾誠 陳鍾誠 (20)

用十分鐘瞭解 新竹科學園區的發展史
用十分鐘瞭解  新竹科學園區的發展史用十分鐘瞭解  新竹科學園區的發展史
用十分鐘瞭解 新竹科學園區的發展史
 
用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus
 
交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥
 
smallpt: Global Illumination in 99 lines of C++
smallpt:  Global Illumination in 99 lines of C++smallpt:  Global Illumination in 99 lines of C++
smallpt: Global Illumination in 99 lines of C++
 
西洋史 (你或許不知道但卻影響現代教育的那些事)
西洋史  (你或許不知道但卻影響現代教育的那些事)西洋史  (你或許不知道但卻影響現代教育的那些事)
西洋史 (你或許不知道但卻影響現代教育的那些事)
 
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
 
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
 
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
 
用十分鐘理解 《微分方程》
用十分鐘理解  《微分方程》用十分鐘理解  《微分方程》
用十分鐘理解 《微分方程》
 
系統程式 -- 前言
系統程式 -- 前言系統程式 -- 前言
系統程式 -- 前言
 
系統程式 -- 附錄
系統程式 -- 附錄系統程式 -- 附錄
系統程式 -- 附錄
 
系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作
 
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統
 
系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統
 
系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器
 
系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器
 
系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言
 
系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器
 
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入
 
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器
 

邏輯語為何從BNF轉向PEG ?