Daniel ab1334c0cf the whole shebang | 10 năm trước cách đây | |
---|---|---|
.. | ||
README.md | 10 năm trước cách đây | |
analyze.php | 10 năm trước cách đây | |
kmyacc.php.parser | 10 năm trước cách đây | |
rebuildParser.php | 10 năm trước cách đây | |
zend_language_parser.phpy | 10 năm trước cách đây |
zend_language_parser.phpy
: PHP grammer written in a pseudo languageanalyze.php
: Analyzes the .phpy
-grammer and outputs some info about itrebuildParser.php
: Preprocesses the .phpy
-grammar and builds the parser using kmyacc
kmyacc.php.parser
: A kmyacc
parser prototype file for PHPThe .phpy
file is a normal grammer in kmyacc
(yacc
) style, with some transformations
applied to it:
Name[..., ...]
. This is transformed into
new PHPParser_Node_Name(..., ..., $attributes)
Name::abc
is transformed to PHPParser_Node_Name::abc
rebuildParser.php
for a list)[key: value, ...]
, which is transformed to
array('key' => value, ...)
In order to rebuild the parser, you need moriyoshi's fork of kmyacc.
After you compiled/installed it, run the rebuildParser.php
script.
By default only the Parser.php
is built. If you want to additionally build Parser/Debug.php
and y.output
run the
script with --debug
. If you want to retain the preprocessed grammar pass --keep-tmp-grammar
.