Разработка DSL и ЯП на PHP: как и зачем?! Другое

Доклад принят в программу конференции
Кирилл Несмеянов
SpiralScout LLC

Developer Advocate в SpiralScout. Более 10+ лет в экосистеме PHP. Представитель Русскоязычного Сообщества Laravel Framework.

nesk@xakep.ru
Тезисы

Иногда при разработке на PHP требуется использовать не только PHP. Зачем? Аннотации, DQL, Yaml, JSON5, С headers (FFI), GraphQL или какое-то своё решение — всё это задачи довольно узконаправленные, но когда потребуется реализовать что-то подобное, то придётся изучить множество литературы для банального понимания, как решать подобные задачи. Более того: даже банальные (ха-ха) задачи реализации статического анализа требуют полного разбора исходного кода и понимания его Control Flow!

В этом докладе мы ознакомимся с тем, как ~~упороться~~ (зачёркнуто) работают парсеры, из чего они состоят, почему синтаксис PHP именно такой, какой есть, и, возможно, придём к пониманию того, как работают языки программирования (в том числе и сам PHP).