擅长:python、mysql、java
<p>Olivier关于词法分析/标记化然后解析的回答很有帮助。在</p>
<p>但是,对于相对简单的情况,一些解析工具能够处理您的需求,而不需要单独的标记化步骤。<a href="https://github.com/python-parsy/parsy" rel="nofollow noreferrer">parsy</a>就是其中之一。您可以从更小的构建块构建解析器-有很好的文档可以帮助您。在</p>
<p>一个用parsy完成的语法分析器的例子如下:<a href="http://parsy.readthedocs.io/en/latest/howto/other_examples.html#proto-file-parser" rel="nofollow noreferrer">http://parsy.readthedocs.io/en/latest/howto/other_examples.html#proto-file-parser</a>。
它比你的复杂得多,但它显示了什么是可能的。如果允许空白(但不是必需的),它使用<code>lexeme</code>实用程序(在顶部定义)来使用可选的空白。在</p>
<p>您可能需要加强对空白的必要性和可选性的理解,以及空白的真正含义。在</p>