joséfelipetto / math-expression-parser
一个用于解析和解决所有类型数值表达式的组件
dev-master
2020-04-09 00:22 UTC
Requires
- php: ^7.1
Requires (Dev)
- phpunit/phpunit: ^9.1
This package is not auto-updated.
Last update: 2024-09-29 04:24:27 UTC
README
一个基于PHP的数学表达式解析器。
要求
- PHP 7.1
安装
您可以通过使用composer安装该组件。
composer require josefelipetto/math-expression-parser
如何使用
您可以通过两种方式使用:
- 使用已安装依赖的ExpressionParser外观,并返回结果,如下所示
use Parser\Facades\ExpressionParser; $result = ExpressionParser::parse('(2+2)^(2*2)/1+3+5'); assert($result === 264);
- 或者,您可以实际上使用您自己的Lexer和/或AST实现,通过提供类依赖项,如下所示
use Parser\Evaluator; use Parser\Lexer; // Or your Lexer use Parser\Syntactic; // Or your AST $evaluator = new Evaluator(new Syntactic(new Lexer('(2+2)^(2*2)/1+3+5'))); assert($evaluator->parse() === 264);
语法
解析器接受以下运算符:+ ; - ; . ; * ; / ; ^ ; ( ; )