Как сказал webbiedave, вы можете изучить основы составителей / интерпретаторов. Вы можете найти большую часть анализатора и лексера в файлах Zend / zend_language_scanner.l и Zend / zend_language_parser.y
Если вы хотите понять, как работает php, я предлагаю вам установить точки останова в начале zend_execute_scripts()
в Zend \ zend.c и в строке
if ((ret = EX(opline)->handler(execute_data TSRMLS_CC)) > 0)
в файле Zend \ zend_vm_execute.h, а затем пошагово пройдитесь по коду.