Intereting Posts

Библиотека парсера, написанная на PHP

Я ищу анализатор языка, написанный на PHP .

Цель состоит в том, чтобы прочитать пользовательский язык , а не читать PHP-код.

В принципе, я хочу указать синтаксис языка, дать фрагмент кода и вернуть структуру, представляющую его. Затем я могу пройти эту структуру, чтобы выполнить фрагмент кода. Я считаю, что структура будет AST , но я не знаю, является ли это единственным вариантом (я не интимный с парсерами и их словарным запасом).

Я посмотрел на парсер Doctrine DQL, но это не похоже на общий парсер языка.

Это не полный список, если вы ищете PHP-версию lexer / parsers, одним из исключительных проектов является Phlexy от NikiC.

Вы можете найти прецедент внутри PHP-Parser, также написанный им. Это парсер для языка PHP с абстрактным синтаксическим деревом (AST), частично сгенерированный из файла грамматики.

Мне никогда не удавалось это сделать, из моих собственных исследований на протяжении многих лет, таких проектов в PHP-пространстве не так много, и эти две библиотеки из NikiC – действительно очень хороший пример.

Если вы ищете лексер, который придерживается более гибких правил, я написал один в XDOM, который синтаксис синтаксиса синтаксиса синтаксиса, он также имеет синтаксический анализатор, но парсер не основан на файле грамматики, даже если он существует в спецификациях CSS , Лексер основан на файле .lex.