第二章, 词法分析器
文章目录
简介:
|| 词法分析流程:(加粗字体维步骤)
读取字符流,并应用一组规则来识别单词在源语言中是否合法,如果单词判断为有效,则会给它分配词类,将其聚合形成单词流。
|| 程序设计语言的词法结构(微语法):规定了如何将字符组合为单词
(区分:语法是对单词进行分类,组成句子)
|| 什么是有效标识符:大部分语言中标识符为: 始于一个字母字符,后接上0个或多个字母/数字字符,结束于第一个非字母或数字的字符
eg:有效的标识符:dd55d88dd,fffff。无效的标识符:12fff
|| 关键字(保留字):有特殊含义的有效标识符,词法分析器会自动将其归类到另一个语法范畴中去 eg:static,while,if
|| 对于识别一个单词的FA(有限自动机)来说,单词对应的实际文本称为*“词素”*
1.识别器
|| 识别器是一个可以识别字符流中单词的程序,它通过一套构造方法,由正则表达式转换而成
|| 识别器的转移图:每个圆圈都代表计算中的一个抽象状态
s0是初始状态,s5是接受状态(以双层圆圈绘制),通常省略目标为错误状态的转移
以下为关键字“while”的识别示例:
以下为new和not的识别器: