TypePHP 编译器
https://swoole.com/aot/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
7.5 KiB
142 lines
7.5 KiB
# Acknowledgements
|
|
|
|
TypePHP is built on decades of work by language designers, compiler engineers,
|
|
runtime developers, standards contributors, maintainers, and open-source
|
|
communities. The project would not be possible without the foundations they
|
|
created and continue to improve.
|
|
|
|
## Project developers and contributors
|
|
|
|
### Core development
|
|
|
|
- **[Tianfeng Han (matyhtf)](https://github.com/matyhtf)** — primary developer
|
|
and maintainer, responsible for the overall compiler architecture, PHP-to-C++
|
|
lowering, type system, runtime integration, build system, and project
|
|
direction.
|
|
|
|
### Contributors recorded in the Git history
|
|
|
|
The following people are identified from the author metadata in the repository.
|
|
Aliases belonging to the same person have been combined. The order follows the
|
|
amount of recorded repository activity only for consistency; it is not a
|
|
ranking of the value of anyone's contribution.
|
|
|
|
| Contributor | Areas of contribution |
|
|
| --- | --- |
|
|
| **[Yurun](https://github.com/Yurunsoft)** | PHP semantic compatibility, type and reference correctness, traits, generators, class behavior, Windows support, and compiler diagnostics |
|
|
| **[NathanFreeman](https://github.com/NathanFreeman)** | Strict types, Zend VM call safety, request initialization, dynamic call validation, and control-flow correctness |
|
|
| **[hafung](https://github.com/hafung)** | Optimizer correctness, strict built-in calls, and safe evaluation of compound array-offset operations |
|
|
| **[Lucas Raineri Giandon (Giandonn)](https://github.com/Giandonn)** | Optimizer safety and PHP-compatible behavior for argument unpacking, `count()`, `intval()`, and `class_exists()` |
|
|
| **[Alessio Giacobbe](https://github.com/AlessioGiacobbe)** | Parser, name resolution, control flow, trait composition, and preservation of expression side effects |
|
|
| **[yangweijie](https://github.com/yangweijie)** | Compilation caching and performance work, build-related improvements, documentation, and real-project examples |
|
|
| **[Lorenzo Dessimoni (FunkyOz)](https://github.com/FunkyOz)** | English documentation for intentionally incompatible PHP features |
|
|
| **[Pratik Bhujel](https://github.com/prateekbhujel)** | Portable float literal generation, including `INF` and `NAN` handling |
|
|
| **[原点 (yuan-dian)](https://github.com/yuan-dian)** | `gen_stub` union-type name generation and Zend type metadata correctness |
|
|
|
|
Git author metadata cannot capture every form of contribution. Reviewers,
|
|
issue reporters, testers, documentation writers, and community members will be
|
|
added as the acknowledgement record is expanded.
|
|
|
|
### Community and ecosystem contributors
|
|
|
|
Contributions to TypePHP are not limited to commits. Testing real projects,
|
|
reporting and reproducing bugs, creating derivative open-source projects,
|
|
writing technical content, and introducing TypePHP to a wider audience all
|
|
help the project grow. We also thank:
|
|
|
|
- **夏枫**
|
|
- **[Tinywan](https://github.com/Tinywan)** ([开源技术小栈](https://www.tinywan.com/))
|
|
- **A000001**
|
|
- **青青子衿**
|
|
- **大星**
|
|
- **[原点](https://github.com/yuan-dian)**
|
|
- **Elijah**
|
|
- **小尹**
|
|
- **[杨维杰](https://github.com/yangweijie)**
|
|
- **Albert Chen**
|
|
- **[Nuno Maduro (`nunomaduro`)](https://x.com/enunomaduro)** — for sharing
|
|
TypePHP with the wider PHP community on Twitter/X.
|
|
|
|
Some people in this section also appear in the Git contributor list. They are
|
|
mentioned again here to recognize their testing, community, ecosystem, or
|
|
outreach contributions separately from authored commits.
|
|
|
|
## Foundational projects and standards
|
|
|
|
We would especially like to thank:
|
|
|
|
1. **[GCC — the GNU Compiler Collection](https://gcc.gnu.org/)**
|
|
|
|
GCC compiles and optimizes the C++ generated by TypePHP on GNU/Linux and
|
|
other supported targets. Its mature optimizer, linker integration, platform
|
|
support, and diagnostics are fundamental to TypePHP's AOT toolchain.
|
|
|
|
2. **[Clang/LLVM](https://llvm.org/)**
|
|
|
|
LLVM and Clang provide a modern C++ compiler infrastructure, high-quality
|
|
diagnostics, optimization technology, and tooling used across TypePHP's
|
|
supported platforms, including macOS and WebAssembly-related toolchains.
|
|
|
|
3. **[Microsoft Visual C++ (MSVC)](https://visualstudio.microsoft.com/vs/features/cplusplus/)**
|
|
|
|
MSVC provides the native C++ compiler, linker, runtime libraries, and Windows
|
|
SDK integration that make the TypePHP toolchain and generated applications
|
|
available on Windows.
|
|
|
|
4. **[ISO C++ Standards Committee (WG21)](https://www.open-std.org/jtc1/sc22/wg21/)**
|
|
|
|
TypePHP generates portable modern C++. We thank the members and contributors
|
|
of WG21 for specifying, reviewing, and evolving the C++ language and standard
|
|
library on which the generated code and PHPX abstractions rely.
|
|
|
|
5. **[PHP](https://www.php.net/) and the [PHP core development team](https://www.php.net/credits.php)**
|
|
|
|
PHP defines the language semantics that TypePHP implements. The PHP core
|
|
developers maintain the Zend Engine, runtime APIs, standard library,
|
|
compatibility behavior, source code, and test suite that serve as the
|
|
authoritative reference for TypePHP.
|
|
|
|
6. **[PHP-Parser](https://github.com/nikic/PHP-Parser), created by [Nikita Popov](https://github.com/nikic)**
|
|
|
|
PHP-Parser provides the reliable PHP parser and abstract syntax tree on which
|
|
TypePHP's analysis, validation, lowering, and C++ code generation pipeline is
|
|
built. We thank Nikita Popov and every PHP-Parser contributor and maintainer.
|
|
|
|
## Supporting libraries and development tools
|
|
|
|
TypePHP also benefits from many focused open-source projects used by the
|
|
compiler, command-line tools, build workflow, and quality-assurance process:
|
|
|
|
- **[PHPX](https://github.com/swoole/phpx)** provides the C++ abstractions over
|
|
the Zend API used by generated programs and TypePHP's runtime integration.
|
|
- **[Composer](https://getcomposer.org/)** provides dependency management,
|
|
autoloading, package distribution, and the `vendor/bin` compiler entry point.
|
|
- **[CLImate](https://github.com/thephpleague/climate)** provides structured,
|
|
readable command-line output and compiler diagnostics.
|
|
- **[TopSort](https://github.com/marcj/topsort.php)** provides topological
|
|
sorting used to resolve declaration and dependency order.
|
|
- **[Symfony YAML](https://symfony.com/components/Yaml)** parses TypePHP project
|
|
configuration and WASI build configuration files.
|
|
- **[Symfony VarDumper](https://symfony.com/components/VarDumper)** supports
|
|
readable inspection of compiler data structures during development and
|
|
diagnostics.
|
|
- **[AnsiKit](https://github.com/ajaxray/AnsiKit)** provides terminal styling
|
|
and progress display helpers for compiler output.
|
|
- **[PHPUnit](https://phpunit.de/)** provides the unit and compiler
|
|
code-generation test framework.
|
|
- **[PHPStan](https://phpstan.org/)** provides static analysis for the compiler's
|
|
PHP implementation.
|
|
- **[PHP CS Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)** helps maintain
|
|
a consistent PHP coding style across the project.
|
|
|
|
The PHP DOM and PCNTL extensions used by parts of the toolchain are included in
|
|
our broader thanks to the PHP core and extension maintainers above.
|
|
|
|
We are grateful to all contributors to these projects, including those whose
|
|
work is not individually named here. Their commitment to open standards,
|
|
portable toolchains, language compatibility, and open-source software makes
|
|
TypePHP possible.
|
|
|
|
The names and trademarks listed above belong to their respective owners. This
|
|
acknowledgement expresses gratitude and does not imply endorsement of TypePHP by
|
|
any listed project, organization, or contributor.
|
|
|