※ 引述《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会有分类的原因。
有错请指正~