![]() |
1
3
要编写一个合适的解析器,您需要用形式语法定义您的语言。相信我,你想把它做好,否则你会在下游遇到问题。 你可能可以在最低级别将你的标记表示为正则表达式,但首先你需要清楚你的语法,即词汇结构中标记的组合。您可以将其表示为递归函数(方法),称为Productions。每个Production函数都可以使用scanner来测试它是否正在查看它想要的令牌。但扫描仪会消耗输入,您无法反转。 如果您使用扫描仪,您会发现以下内容不合适:
我建议您自己编写字符lexer,并在字符串/字符数组而不是流上进行迭代。然后你就可以重新上发条了。 |
![]() |
2
2
班级
附录:
两者的主要区别是什么
任何一个都可以
lexical analysis
解析器所需的。
|