适用于Python的数学解析器 该存储库包含一个语法分析器,用于以92行Python代码编写的形式为2*(3+4)简单数学表达式。除了可以在Python标准库中找到的依赖项之外,不使用任何依赖项。它仅出于教育目的而存在。 如何使用它 python3 compute.py '2*(3+4)' 结果应该是14 。这也许并不奇怪,但是您也可以运行 python graphviz.py '2*(3+4)' > graphviz_input dot -Tpng graphviz_input -o output.png 以获得抽象语法树的可视化表示(这需要安装 )。 介绍 令我个人惊讶的是, 似乎,这意味着没有使用诸如类的编译器生成工具。由于几乎所有编程语言的基本构建块都是数学表达式,因此该存储库将探索为这些简单的数学表达式构建手写解析器。 这个特殊的问题一定已经被世界各地的计算机科学专业的学生解决了