Разбор кода и построение синтаксических деревьев с PLY. Основы
Что такое PLY? PLY — это аббревиатура из первых букв выражения: Python Lex-Yacc.
Фактически, это порт утилит lex и yacc на python в красивой обертке.
Работать с ply очень просто и порог входа для начала использования практически нулевой.
Написан он на чистом питоне и представляет из себя LALR (1) парсер, но кому это интересно?
Я по натуре практик (как и большинсво из вас) поэтому пошли в бой! Что будем делать? На сайте есть пример написания очередного калькулятора, поэтому повторяться не будем. А сделаем что-то навроде парсера очень очень узкого подмножества PHP:)
Наша задача в конце статьи построить синтаксическое дерево для такого примера:
