14 января 2015 г., 12:34 пользователь Харпалёв Иван <[email protected]> написал: > Доброго времени, могучий MoscowPM! > > Сейчас пишу небольшой язык. > То есть пишу транслятор из него в awk и С. (Сначала в awk, чтобы > потренироваться, а потом в C, там типизация, там сложнее). > > Когда язык был совсем примитивный, я его парсил регэкспами и по > рабоче-крестьянски собирал код на целевом языке. > Но язык подростает. И рефакторить оказывается очень печально. > > Как я понимаю весь процесс работы транслятора состоит из стандартных стадий, > например: > токенизация > построение дерева разбора > сбор кода на целевом языке из полученного описания. > > В общем тория у меня хромает и очень интересна.
По теории советую почитать dragon book. > Но первым делом практика. :-))))))) > Скажите, чем строить дерево синтаксического разбора? > что-то вроде Вообще для создания компиляторов есть специальные инструменты. http://dinosaur.compilertools.net > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- Best regards, Ilya Chesnokov -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
