prot1vogas / expression-parser
简单的表达式解析器
0.3.0
2022-02-11 23:56 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ~4.8
This package is not auto-updated.
Last update: 2024-09-21 09:15:55 UTC
README
简单的表达式解析器。
兼容PHP 5.4及以上版本。
基本用法
$parser = new Parser(new TokenTypesFactory(), new Lexer());
$evaluator = new Evaluator();
$expression = $parser->parse("2 + 2");
echo $evaluator->execute($expression);
功能
- 二元运算符 + - * / % ^
- 一元运算符 - sqrt ! sin cos tan
- 括号
- 浮点变量
- 常量 pi, e
您可以重写 TokenTypesFactory 以添加自定义运算符、变量或括号。有一些标记类型类
- 二元运算符
- 一元运算符
- 变量
- 括号
例如,可以在 getUnaryOperations 方法中添加新的运算符 'func',如下所示
$operations[] = new UnaryOperation('func', function ($args) {
return $args[0] / 2;
}, 15, UnaryOperation::PREFIX_NOTATION);