| Server IP : 68.178.172.28 / Your IP : 216.73.216.26 Web Server : Apache System : Linux 28.172.178.68.host.secureserver.net 4.18.0-553.89.1.el8_10.x86_64 #1 SMP Mon Dec 8 03:53:08 EST 2025 x86_64 User : kiskarnal ( 1003) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/kiskarnal/public_html/vendor/nikic/php-parser/grammar/ |
Upload File : |
What do all those files mean? ============================= * `php5.y`: PHP 5 grammar written in a pseudo language * `php7.y`: PHP 7 grammar written in a pseudo language * `tokens.y`: Tokens definition shared between PHP 5 and PHP 7 grammars * `parser.template`: A `kmyacc` parser prototype file for PHP * `tokens.template`: A `kmyacc` prototype file for the `Tokens` class * `rebuildParsers.php`: Preprocesses the grammar and builds the parser using `kmyacc` .phpy pseudo language ===================== The `.y` file is a normal grammar in `kmyacc` (`yacc`) style, with some transformations applied to it: * Nodes are created using the syntax `Name[..., ...]`. This is transformed into `new Name(..., ..., attributes())` * Some function-like constructs are resolved (see `rebuildParsers.php` for a list) Building the parser =================== Run `php grammar/rebuildParsers.php` to rebuild the parsers. Additional options: * The `KMYACC` environment variable can be used to specify an alternative `kmyacc` binary. By default the `phpyacc` dev dependency will be used. To use the original `kmyacc`, you need to compile [moriyoshi's fork](https://github.com/moriyoshi/kmyacc-forked). * The `--debug` option enables emission of debug symbols and creates the `y.output` file. * The `--keep-tmp-grammar` option preserves the preprocessed grammar file.