Go 语言学习手札 ━━ 词法单元

token 是构成源程序的基本不可再分隔的单元,编译器编译源程序的第一步就是将程序的源码分割成一个个独立的 token,这个过程就是词法分析。Go 语言的 token 可以分为关键字、标识符、操作符、分隔符和字面常量等。

分隔符

Go 的 token 分隔符有两类:

  • 操作符:操作符天然就是一个分隔符,同时其自身也是一个 token
  • 纯分隔符:其本身不具有任何语法意义,只作为其他 token 的分割功能,如:空格、回车、换行、制表符等

例 1: sum := a + b

“:=” 和 “+” 既是分隔符,也是 token,所以这个语句被分割成 5 个 token:”sum”、”:=”、”a”、”+”、”b”

例 2:package main

这是一个声明包的语句,package 和 main 之间可以有任意多个空格或者制表符,GO 编译器会将其作为一个分隔符处理,最后分离出来两个 token:”package”、”main”

标识符

编程语言的标识符用来标识变量、类型、常量等语法对象的符号名称,在语法分析时作为一个 token 存在。标识符总体上分为类:

  • 语言设计者预留的标识符,具体查看
  • 编程过程中自定义的变量名、常量名、函数名等一切符合语言规范的标识符

操作符

操作符是语言所使用的符号集合,包括运算符、显示的分隔符以及其他语法辅助符号,操作符不但自身是一个 token,具备语法含义,同时其自身也是分隔其他 token 的分隔符。

字面常量

编程语言源程序中表固定值的符号叫做字面常量,简称字面量。

标签:

About: Mr.zhang

成谜于写 bug 无法自拔~


发表评论

邮箱地址不会被公开。 必填项已用*标注