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 *`analyze.php`: Analyzes the grammer and outputs some info about it *`rebuildParser.php`: Preprocesses the grammar and builds the parser using `kmyacc`.phpy pseudo language=====================The `.y` file is a normal grammer in `kmyacc` (`yacc`) style, with some transformationsapplied to it: * Nodes are created using the syntax `Name[..., ...]`. This is transformed into`new Name(..., ..., attributes())` * Some function-like constructs are resolved (see `rebuildParser.php` for a list)Building the parser===================In order to rebuild the parser, you need [moriyoshi's fork of kmyacc](https://github.com/moriyoshi/kmyacc-forked).After you compiled/installed it, run the `rebuildParser.php` script.By default only the `Parser.php` is built. If you want to additionally emit debug symbols and create `y.output`, run thescript with `--debug`. If you want to retain the preprocessed grammar pass `--keep-tmp-grammar`.