On Tue, 6 Apr 1999, Андрей Новиков wrote:
> Кто может сказать где за неделю научиться писать
> интерпретаторы? Нужно постичь хотя бы общие концепции.
На вопрос "где" ответ прост - на своем компьютере. На вопрос "как" ответ
должен быть посложнее. Проблема с ответом заключается в том, что из вопроса
непонятно, какой степени крутизны предполагается интерпретатор. Если надо
Visual Basic за неделю перенести на SCO, то я растеряюсь, что посоветовать.
Ну хорошо, в самом общем виде все просто. Нужно изучить программу типа
lex, которая разберет входной поток на лексемы, потом нужно что-то типа
yacc, который поток уже лексем разберет на более крупные объекты, скажем,
вызовы процедур или описания классов. И эти более крупные объекты
реализовать самому.
Ныне все языки имеют свои версии lex/yacc, так что начинать надо с
чего-нибудь привычного, кто привык к перлу - писать интерпретаторы на перле
(для обучения).
Ну там еще есть проблемы с реализацией, потому как, скажем, SQL
реализовать не сложно - сложно эту реализацию оптимизировать по скорости и
памяти.
А что за задача такая, что для нее именно интерпретатор нужен? Попроще
ничего не подойдет?
> С уважением, Андрей Новиков
>
> ------------------------------------------------------------
> Всероссийский Клуб Вебмастеров http://www.webclub.ru/
> По официальным вопросам пишите mailto:webclub@webclub.ru
Oleg.
----
Oleg Broytmann National Research Surgery Centre phd2@email.com
Programmers don't die, they just GOSUB without RETURN.
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =