当前位置:  开发笔记 > 编程语言 > 正文

你会如何解析缩进(python风格)?

如何解决《你会如何解析缩进(python风格)?》经验,为你挑选了1个好方法。

如何定义解析器和词法分析器规则来解析使用缩进来定义范围的语言.

我已经google了一下,通过在词法分析器中生成INDENT和DEDENT令牌,找到了一种解析它的聪明方法.

如果我谈到一些有趣的东西,我会更深入地研究这个问题并发表答案,但我希望看到解决问题的其他方法.

编辑:正如查理指出的,如果不是相同的话,已经有另一个非常相似的线程.我的帖子应该被删除吗?



1> Charlie Mart..:

这是一种假设,因为它取决于你的词法分析器和解析器的技术,但最简单的方法似乎是让BEGINBLOCK和ENDBLOCK标记类似于C中的大括号.使用你的词法分析器所需的"越位规则"跟踪一堆压力水平.当缩进级别增加时,为解析器发出BEGINBLOCK; 当缩进级别减小时,从堆栈中发出ENDBLOCK和弹出级别.

这是关于SO 的另一个讨论,顺便说一下.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有