我在理解术语 “Token” 的真正含义上有些困难。
从软件开发角度讲,您能给出通用的定义吗?(在不同的上下文和语言中,它是否有不同的含义?)
谢谢!
如果你在谷歌中搜索define:token,你会得到(除其他外)以下两个定义似乎适用:
如果将这两者结合起来,你就会接近编程中通常所指的标记的含义; 代表某事的符号。相当模糊,是的,但它在许多不同的上下文中使用。
一个例子:你有一个身份验证系统,用户登录。当系统验证了用户后,为了避免每个请求都要重复此过程,创建一个代表用户已通过身份验证的标记。然后在随后的请求中使用此标记。在这种情况下,something 是用户已通过身份验证的事实,而标记则代表着这个事实。
令牌包括:标识符、关键字、字面量、运算符和标点符号。但是,尽管空格和注释作为分隔符对令牌起到作用,我们不能将它们视为令牌。
在编译器中,词法分析器(或扫描器):读取输入流,并将源文本的字符融合成语言的标记。
标记:具有集体含义的字符序列。 形成标记的字符序列称为词元。以下示例可能有所帮助
考虑以下赋值语句
newvalue = oldvalue + rate * 60
词法分析器将生成以下标记。
标记 词元 标识符 newvalue 赋值操作符 = 标识符 oldvalue 加法操作符 + 标识符 rate 乘法操作符 * 数字 6
在软件开发领域,签名认证是指服务器为一段时间内发行的认证标识。
Token是编程语言中的单个元素,它们分为以下五类: