Список всех возможных ошибок PHP

Иногда при кодировании в PHP мы получаем синтаксические или синтаксические ошибки:

Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in /var/www/example/index.php on line 4 

Я хотел бы знать, если есть список всех возможных ошибок, которые может выводить интерпретатор PHP. Я искал php.net, но не мог найти такую ​​вещь. Мне нужен этот список для академических целей.

Нет, нет хорошего пути. Даже предложенный grep для zend_Error () бесполезен. Ошибки, которые вы показываете в вопросе, в основном генерируются генератором парсера бизонов, а PHP просто берет его оттуда. Подобные вещи случаются с ошибками, сообщаемыми операционной системой (например, при открытии файлов). Разработчики PHP не могут создать хороший список для них, поскольку ошибки зависят от операционной системы, на которой она работает, и от версий, используемых при компиляции.

Единственное, что grepping для zend_error () и php_Error_docref () может показать вам общий обзор возможных типов ошибок, но далеко не все сообщения об ошибках.

Я не знаю, существует ли исчерпывающий список возможных ошибок PHP, но об ошибках парсера вы должны проверить список токенов PHP Parser

http://php.net/manual/en/tokens.php

вот что говорится в руководстве:

Различные части языка PHP представлены внутри таких типов, как T_SR. PHP выводит идентификаторы, подобные этому, в синтаксические ошибки, такие как «Ошибка анализа: неожиданный T_SR, ожидающий», «или»; в script.php в строке 10. " Вы должны знать, что означает T_SR. Для всех, кто этого не знает, вот таблица с этими идентификаторами, PHP-синтаксис и ссылки на соответствующие места в руководстве.

я не знаю такого списка, но вы всегда можете скачать или проверить источники php и сделать что-то вроде

  find . -name "*.c" | xargs grep "zend_error" 

Если вы ищете список всех возможных типов ошибок, это поможет: http://www.php.net/manual/en/errorfunc.constants.php

Это дает 1346 просмотров для меня в последнем источнике PHP (включая дубликаты). Это может быть хороший путь, однако список далеко не полный из-за причин, изложенных @johannes.

С другой стороны, в любом случае будет очень сложно определить конкретный тип ошибки синтаксического анализа, поскольку, по моему мнению, они компилируются парсером во время выполнения и не указаны нигде в источнике.

Можете ли вы рассказать о том, что вам нужно? Возможно, вы можете определить «подкласс» ошибок, которые уже достаточны для ваших нужд.