lexical analysis
wikipedia
词法分析(英语:lexical analysis)是计算机科学中将字符序列转换为标记(token)序列的过程。进行词法分析的程序或者函数叫作词法分析器(lexical analyzer,简称lexer),也叫扫描器(scanner)。词法分析器一般以函数的形式存在,供语法分析器调用。
wiki地址
https://zh.wikipedia.org/wiki/%E8%AF%8D%E6%B3%95%E5%88%86%E6%9E%90
Tips
结构
词法分析结果 => 列表
语法分析结果 => AST树
任务
(从字符串转成token串)
- 关键字 | 标识符 | 分隔符 | 运算符 | 字面量(Literal)| 注释(不形成token) | 空白字符
- JS - “0x”-16 “0”-8 “0b”-2
- 所以不是简单规则能解决,需要用系统性的解决方法
词法规则
词法规则-formal grammar(正则文法)-上下文无关文法的子集
语法规则-context-free grammer-CFG
用程序实现词法分析
LL算法
- First|Follow 集合
- 避免回溯 -> 实现性能上的提升