[Moscow.pm] Синтаксический анализ на Perl. Транслятор.

Ruslan Zakirov ruslan.zakirov на gmail.com
Вт Янв 20 01:36:27 PST 2015


Marpa, Parse::RecDescent, Parse::Yapp, Parse::Eyapp.

Первый мне очень нравиться. Попрбуйте с MarpaX::Repa. "Репу" написал сам и
мне очень удобно с ним писать  парсеры ибо можно написать грамматику и не
определить все токены, то есть итеративно дополнять в процессе свой парсер
без фатальных ошибок на этапе компиляции парсера. В новых версиях Marpa
есть Scanless интерфейс - это самое близкое к Repa так как включает лексер
и самое простое для начала.

2015-01-14 12:34 GMT+03:00 Харпалёв Иван <ivan.kharpalev на gmail.com>:

> Доброго времени, могучий MoscowPM!
>
> Сейчас пишу небольшой язык.
> То есть пишу транслятор из него в awk и С. (Сначала в awk, чтобы
> потренироваться, а потом в C, там типизация, там сложнее).
>
> Когда язык был совсем примитивный, я его парсил регэкспами и по
> рабоче-крестьянски собирал код на целевом языке.
> Но язык подростает. И рефакторить оказывается очень печально.
>
> Как я понимаю весь процесс работы транслятора состоит из стандартных
> стадий, например:
> токенизация
> построение дерева разбора
> сбор кода на целевом языке из полученного описания.
>
> В общем тория у меня хромает и очень интересна. Но первым делом практика.
> Скажите, чем строить дерево синтаксического разбора?
> что-то вроде
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>


-- 
Best regards, Ruslan.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20150120/5786ff50/attachment.html>


Подробная информация о списке рассылки Moscow-pm