mathematicator-core / tokenizer
数学分词器
v3.0.1
2021-02-10 10:46 UTC
Requires
- php: ^8.0
- mathematicator-core/numbers: ^2.1
- nette/tokenizer: ^3.0
- nette/utils: ^3.0
Requires (Dev)
- brainmaestro/composer-git-hooks: dev-master
- jetbrains/phpstorm-attributes: ^1.0
- nette/bootstrap: ^3.0.1
- nette/tester: ^2.0
- phpstan/phpstan: ^0.12.74
- phpstan/phpstan-nette: ^0.12.14
- roave/security-advisories: dev-master
- spaze/phpstan-disallowed-calls: ^1.1
- tracy/tracy: ^2.8
Suggests
- nette/di: (^3.0) To use package in Nette Framework
- v3.0.1
- v3.0.0
- dev-master / 2.2.x-dev
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.1
- v2.0.0
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dependabot/composer/spaze/phpstan-disallowed-calls-tw-1.1or-tw-3.0
- dev-dependabot/composer/nette/utils-tw-3.0or-tw-4.0
- dev-dependabot/composer/phpstan/phpstan-tw-0.12.74or-tw-1.0.0
- dev-dependabot/composer/phpstan/phpstan-nette-tw-0.12.14or-tw-1.0.0
- dev-dependabot/add-v2-config-file
- dev-remove-engine
This package is auto-updated.
Last update: 2024-09-10 05:22:15 UTC
README
PHP 数学分词器
Mathematicator 分词器是一个简单的库,可以将字符串数学公式转换为具有 LaTeX 支持的标记流。
安装
composer require mathematicator-core/tokenizer
功能
- 将所有数学公式转换为标记流
- 将用户数学输入转换为 LaTeX
- 渲染标记树以进行调试
用法
通过DI注入Tokenizer
服务并分词查询。
use \Mathematicator\Tokenizer\Tokenizer; $tokenizer = new Tokenizer(/* some dependencies */); // Convert math formula to an array of tokens: $tokens = $tokenizer->tokenize('(5+3)*(2/(7+3))'); // Now you can convert tokens to a more useful format: $objectTokens = $tokenizer->tokensToObject($tokens); var_dump($objectTokens); // Return typed tokens with meta data // Render to LaTeX echo $tokenizer->tokensToLatex($objectTokens); // Render to debug tree (extremely fast): echo $tokenizer->renderTokensTree($objectTokens);
配置
分词器使用基于 DI 的自动配置。只需使用 DI 容器,服务将完全可用。
Mathematicator 框架工具结构
最大的优势是可以选择最适合您需求的一层,并立即在上面构建,无需从头创建一切。我们的工具经过错误测试和性能调优,因此您可以节省大量的时间、金钱和精力。
框架尽可能模块化,因此您应该能够在每一层及其子层上创建扩展。
Mathematicator 框架层 从最具体到最抽象的顺序
第三方包
⚠️ 不保证!
贡献
请通过发送 Pull request 来帮助改进此文档。
测试
所有新贡献都应该在 /tests
目录中包含单元测试。
在发送 PR 之前,请确保所有测试都通过。
此包使用 Nette Tester。您可以通过以下命令运行测试
composer test
对于基准测试,我们使用 phpbench。您可以这样运行基准测试
composer global require phpbench/phpbench @dev # only the first time
phpbench run
在 PR 之前,请通过以下命令运行完整的代码检查
composer cs:install # only first time composer fix # otherwise pre-commit hook can fail