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.
 
 

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) — 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 PHP semantic compatibility, type and reference correctness, traits, generators, class behavior, Windows support, and compiler diagnostics
NathanFreeman Strict types, Zend VM call safety, request initialization, dynamic call validation, and control-flow correctness
hafung Optimizer correctness, strict built-in calls, and safe evaluation of compound array-offset operations
Lucas Raineri Giandon (Giandonn) Optimizer safety and PHP-compatible behavior for argument unpacking, count(), intval(), and class_exists()
Alessio Giacobbe Parser, name resolution, control flow, trait composition, and preservation of expression side effects
yangweijie Compilation caching and performance work, build-related improvements, documentation, and real-project examples
Lorenzo Dessimoni (FunkyOz) English documentation for intentionally incompatible PHP features
Pratik Bhujel Portable float literal generation, including INF and NAN handling
原点 (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:

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

    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

    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)

    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)

    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 and the PHP core development team

    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, created by Nikita Popov

    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 provides the C++ abstractions over the Zend API used by generated programs and TypePHP's runtime integration.
  • Composer provides dependency management, autoloading, package distribution, and the vendor/bin compiler entry point.
  • CLImate provides structured, readable command-line output and compiler diagnostics.
  • TopSort provides topological sorting used to resolve declaration and dependency order.
  • Symfony YAML parses TypePHP project configuration and WASI build configuration files.
  • Symfony VarDumper supports readable inspection of compiler data structures during development and diagnostics.
  • AnsiKit provides terminal styling and progress display helpers for compiler output.
  • PHPUnit provides the unit and compiler code-generation test framework.
  • PHPStan provides static analysis for the compiler's PHP implementation.
  • 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.