Если я правильно понимаю, то возможно вам нужно что-то вроде этого: https://metacpan.org/pod/Marpa::R2 -- ak
From: Харпалёв Иван <[email protected]> Reply: Moscow.pm group <[email protected]>> Date: 14 January 2015 at 11:40:40 To: Moscow.pm group <[email protected]>> Subject: Re: [Moscow.pm] Синтаксический анализ на Perl. Транслятор. что-то вроде "f(1,2) + 3" в {function=>'+', args=>[{function=>'f', args=>[1, 2]}, 3]} 14 января 2015 г., 12:34 пользователь Харпалёв Иван <[email protected]> написал: Доброго времени, могучий MoscowPM! Сейчас пишу небольшой язык. То есть пишу транслятор из него в awk и С. (Сначала в awk, чтобы потренироваться, а потом в C, там типизация, там сложнее). Когда язык был совсем примитивный, я его парсил регэкспами и по рабоче-крестьянски собирал код на целевом языке. Но язык подростает. И рефакторить оказывается очень печально. Как я понимаю весь процесс работы транслятора состоит из стандартных стадий, например: токенизация построение дерева разбора сбор кода на целевом языке из полученного описания. В общем тория у меня хромает и очень интересна. Но первым делом практика. Скажите, чем строить дерево синтаксического разбора? что-то вроде -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
