Implementing the Range Operator in PHP
We sometimes come across some amazing posts in other locations, and with the permissions of their authors, repost them on SitePoint. This is one such instance. In the post below, Thomas Punt implements the range operator in PHP. If you’ve ever been interested in PHP internals and adding features to your favorite programming language, now’s the time to learn!
This article will demonstrate how to implement a new operator in PHP. The
following steps will be taken to do this:
- Updating the lexer: This will make it aware of the new operator syntax
so that it can be turned into a token
- Updating the parser: This will say where it can be used, as well as what
precedence and associativity it will have
- Updating the compilation stage: This is where the abstract syntax tree
(AST) is traversed and opcodes are emitted from it
- Updating the Zend VM: This is used to handle the interpretation of the
new opcode for the operator during script execution
This article therefore seeks to provide a brief overview of a number of PHP’s
Also, a big thank you to Nikita Popov for
proofreading and helping to improve my article!
Continue reading %Implementing the Range Operator in PHP%