实验步骤
- 确定词法规则对应的 DFA
- 确定自动机状态, 转移方式, 以及在特定转移步骤时要采取的动作
- 使用 switch 以状态机方式实现词法分析器
提示
- 由于接下来的实验中一个外部工具 ("编译工作台") 的限制, 分号作为标点并不能直接使用
;
作为其词法的描述符, 而必须使用单词Semicolon
. 当你在输入中读入了一个分号时, 请你生成一个使用Semicolon
作为描述符的词法单元. (Token.simple("Semicolon")
) - 为了贴合理论课中介绍的符号表的作用, 你在读入了一个标识符之后, 必须将该标识符加入到符号表之中.
- 在你处理完所有输入之后, 请生成一个作为 EOF 的词法单元 (
Token.eof()
)