乐兴Python资源
作者:互联网
作为一项教育活动,我着手用Python编写Python词法分析器.
最终,我想实现一个可以自行运行的简单Python子集,因此我希望将此词法分析器用尽可能简单的Python子集编写,并尽可能少地导入.
我发现的与词法学习有关的教程(例如kaleidoscope)会向前看一个字符以确定接下来要使用的令牌,但是恐怕这对于Python来说是不够的(一方面,仅查看一个字符就无法区分分隔符或运算符,或者在标识符和关键字之间;此外,对我来说,处理缩进看起来像是一种新的野兽;等等).
我发现这个link非常有帮助,但是,当我尝试实现它时,我的代码很快就开始看起来很丑陋,并且带有许多if语句和个案工作,而且似乎这不是“正确”的方法它.
有没有什么好的资源可以帮助/教我lex这种代码(我也想完全解析它,但是首先要正确吗?)?
我上面没有使用解析器生成器,但我希望生成的Python代码使用Python的简单子集,并且还应合理地自我包含,这样我至少可以梦想拥有一种能够自我解释的语言. (例如,根据我对example的了解,如果我使用ply,我将需要我的语言来解释ply包以及自己解释,这会使事情变得更加复杂).
解决方法:
看一下http://pyparsing.wikispaces.com/,也许您发现它对您的任务很有用.
标签:lexical-analysis,python 来源: https://codeday.me/bug/20191201/2079782.html