Re: [問題] token在這個上下文中所代表的意思

看板C_and_CPP作者 (brotherD)時間8年前 (2017/10/24 09:31), 8年前編輯推噓3(3014)
留言17則, 7人參與, 8年前最新討論串2/2 (看更多)
※ 引述《zzss2003 (brotherD)》之銘言: : 標題: [問題] token在這個上下文中所代表的意思 : 時間: Mon Oct 23 18:12:30 2017 : : → Hazukashiine: 在講 token 的時候 我們一般不會說它具有語意 10/23 21:26 : → Hazukashiine: 因為程式碼是一個連續的位元流 沒有實體的切割 10/23 21:27 : → Hazukashiine: 所以我們要定義一組規則去把程式碼切斷成數個單元 10/23 21:28 : → Hazukashiine: 這個過程叫做 tokenization 來提供語法分析器調用 10/23 21:29 : → Hazukashiine: 一但語法分析器建立出語法樹後 程式碼變有了意義 10/23 21:30 : → MOONRAKER: token就如上述 程式碼是一個大字串 把這個大字串依照 10/24 03:18 : → MOONRAKER: 規則切成小段 就是token 10/24 03:19 : → MOONRAKER: 考慮意義 你可以稱它為「單字」 反正電腦語言的WORD是 10/24 03:19 : → MOONRAKER: 別的意思不會混淆 而token是合乎語法的基本片段 10/24 03:20 : → MOONRAKER: (syntactic element) 稱為「單字」也並無問題 10/24 03:21 : → MOONRAKER: 叫「字彙」或更模糊的「片段」也行 「字串」也勉強 10/24 03:31 : → MOONRAKER: 類似很難搞的詞還有"handle" 那比token還頭大 10/24 03:32 經過兩位大大的解釋,洨弟總算是有點概念了。依照此規範所定義的token: A token is the minimal lexical element of the language in translation phases 7 and 8. 我的理解:對機器來說程式碼只是一堆0跟1,如果我們用一套規則去切割0跟1所得到的最小 單位組,就是token。 比如,我今天要用符合keyword的條件去定義token,那所切割出來的就是歸類於keyword 的token。這也是為什麼token會有分類的原因。 有錯請指正~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.26.157 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1508808679.A.3FF.html

10/24 09:40, 8年前 , 1F
怪怪的
10/24 09:40, 1F

10/24 10:20, 8年前 , 2F
我個人理解是在做語法分析的時候透過切出最小的塊來處理
10/24 10:20, 2F

10/24 10:20, 8年前 , 3F
,比一次處理一串還容易,切出來一小塊一小塊的東西叫它
10/24 10:20, 3F

10/24 10:20, 8年前 , 4F
token,切出來歸類比較好處理,而不是為了歸類所以切出
10/24 10:20, 4F

10/24 10:20, 8年前 , 5F
10/24 10:20, 5F

10/24 10:55, 8年前 , 6F
去做個 lexer,不用猜
10/24 10:55, 6F

10/24 11:03, 8年前 , 7F
沒有到0跟1的層級 一般parsing最基本的單位就字元
10/24 11:03, 7F

10/24 11:04, 8年前 , 8F
當然除了ascii或unicode以外字元也可以定得更短
10/24 11:04, 8F

10/24 11:05, 8年前 , 9F
但是以字元來理解就可以了
10/24 11:05, 9F
謝謝指正,我會提到0跟1是因為H大提到程式碼是一個連續的位元流 ※ 編輯: zzss2003 (60.248.26.157), 10/24/2017 11:39:46

10/24 12:01, 8年前 , 10F
直接用中文舉例最快「等等你回家以後晾衣服」
10/24 12:01, 10F

10/24 12:01, 8年前 , 11F
tokenize以後就是 等等 你 回家 以後 晾 衣服
10/24 12:01, 11F

10/24 12:02, 8年前 , 12F
而不會是等 等你回 家以 後 晾衣 服
10/24 12:02, 12F

10/24 23:47, 8年前 , 13F
真的 做一個lexical analyzer最準
10/24 23:47, 13F

10/26 13:30, 8年前 , 14F
用人類語言來比例的話就是類似詞語 (vocabulary) 的概念
10/26 13:30, 14F

10/26 13:31, 8年前 , 15F
因為不只是實體本身, 還包含語意概念概念, 確實有點抽象
10/26 13:31, 15F

10/26 13:31, 8年前 , 16F
也沒什麼完美的解釋方法, 一下不能理解就慢慢體會吧, 急
10/26 13:31, 16F

10/26 13:32, 8年前 , 17F
著找明確的定義反而容易誤解
10/26 13:32, 17F
文章代碼(AID): #1PxfVdF_ (C_and_CPP)
文章代碼(AID): #1PxfVdF_ (C_and_CPP)