Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Вниз

Кто-нибудь писал ИНТЕРПРЕТАТОР или может знает как?   Найти похожие ветки 

 
Star   (2002-09-26 00:31) [0]

Стала тут необходимость написать маленький интерпретатор: 10-15 функций (в том числе и цикловую типа for...to...do), плюс простенькая работа с переменными (пара-тройка типов вроде integer и string) с возможностью использовать вызов функции как параметр другой функции (ну в принципе можно обойтись без этого).

Так вот, может кто писал такое, или знает теоретически как это делается или сможет еще чем-нибудь помочь, подскажите пожалуйста.
Заранее благодарен.


 
Rouse_   (2002-09-26 00:46) [1]

Здравствуй Star, писал такое и не одну штуку(в качестве пособия), в чем вопрос стал? Конкретизируй.

Желаю успехов


 
Star   (2002-09-26 01:06) [2]

Собственно говоря я даже принципов написания интепретаторов не знаю, не знаю вообще с какого края за это взяться.
Пытался кое-что писать, но это так, детский лепет ...
А задачка нужная и не только мне, а времени маловато, вот и кинулся сюда ...


 
Star   (2002-09-26 12:01) [3]

На сколько я понимаю основная трудность - анализ строк (правильная разбивка их на состовляющие и раскручивание этого клубка с нужной ниточки).
Может есть какие нибудь алгоритмы, или примеры? Может подскажешь, где рыть? А то я в инете поискал - ничего полезного, какой-то мусор ...
Может есть какие-нибудь общие шаблоны, по которым можно сконструировать свой интерпретатор?


 
Dmitriy Polskoy   (2002-09-26 12:15) [4]

Поищи в архивах этого форума. Кто-то уже такой вопрос задовал, точно омню.


 
KSergey   (2002-09-26 13:04) [5]

Всегда хочется спросить: вы книжки читать умеете? пробовали? А препод - он за что деньги получает? Или он лекционный материал второй раз пересказывать не хочет? И правильно делает, деньги-то за него он только один раз получает.
Так что ищите объявы от более умных(?) или просто предприимчевых студентов "Напишу любую программу на любом языке". Любое учебное заведение, гто есть такие специальности, подобными объявами просто завалено.


 
AFrolov   (2002-09-26 13:52) [6]

Если надо именно написать то Вам уже ответили. А если надо где-то использовать то почитайте про Microsoft Script Control.


 
Star   (2002-09-26 19:42) [7]

Н-да, помощи от вас ...

Во-первых, нету у меня книжек на такую тему, и у друзей нету, и в магазине не видел.
Во-вторых, предпочитаю все и всегда делать сам (нанять голодного студента и дурак сможет...)
И-третьих, наши преподы на специальности "Вычислительная техника" умеют рассуждать об устройстве Windows и криптографии, а когда доходит до дела, тот-же препод просит поставить на машину оффис без Windows чтобы места меньше занимало ...

Знал бы, где узнать, не стал бы тратить деньги на поиски в интернете (кстати перед тем, как написать сюда, я облазил кучу сайтов и перерыл гору ненужной инфы ...)


 
Дремучий   (2002-09-26 20:01) [8]

а чем готовые интерпретары не устраивают?


 
stikriz   (2002-09-26 20:07) [9]

Привет.

Почитай Страуструппа Язык программирования C++. Там есть красивый пример с алгоритмом рекурсивного спуска. Как раз нормальный интерпритатор.

Николай.


 
KSergey   (2002-09-27 09:25) [10]


> Star © (26.09.02 19:42)
> И-третьих, наши преподы на специальности "Вычислительная
> техника" умеют рассуждать об устройстве Windows и криптографии,
> а когда доходит до дела, тот-же препод просит поставить
> на машину оффис без Windows чтобы места меньше занимало


А разве вас просят поставить офис? У вас вопрос именно "теоретический", т.е. тот, в котором любой препод данной специальности что-то да знает. Или знает где посмотреть - это работа у него такая. И не говорите, что нам вот выдали задание, и бросили на произвол судьбы. НЕ ВЕРЮ! Я такого не видел. (Все курсовые, что мне приходилось делать всегда были рассчитаны на дурочка, ну вернее на нормального троечника, который умеет читать, писать и хочет (пусть не напрягаясь) что-то делать. Всегда в методичке есть куча рекомендованной по теме литературы, которой если нет в магазинах, то есть в библиотеке или, на худой конец, в читальном зале. Так что не надо завирать: я не поверю, что вы изучаете специальность "Вычислительная техника" в деревне Переколдобино, где нет ни библиотек, ни читальных залов).

PS: Но, сказать по-правде, я к сожалению не знаю книги по постоению интерпретаторов... Знал бы - сказал.

PPS не по теме: был я как-то в одной деревне ооочень глубокой на севере Томской области, так даже там была вполне приличная библиотека. Ну не техническая, конечно...


 
V-A-V   (2002-09-27 09:38) [11]

Написал я такой компонент (PS) для обработки скриптов на Pascl подобном языке. Возьми на сайте http://vdovin-av.narod.ru/
Попробуй, там есть пример использования и подробный Help...
Я думаю тебе это подойдет.
Удачи...


 
Юрий Зотов   (2002-09-27 09:47) [12]

А. Ахо, Р. Сети, Дж. Ульман.
Компиляторы: принципы, технологии, инструменты.

Это знаменитая "Книга Дракона". Классика по написанию компиляторов и интерпретаторов. Сейчас есть практически во всех магазинах, на книжных рынках, в интернет-магазинах и пр. Довольно дорогая, но она того стоит. Если Вы хотите связать свою жизнь с программированием, рекомендую купить.


 
Star   (2002-09-27 12:42) [13]


KSergey © (27.09.02 09:25)

А разве вас просят поставить офис? У вас вопрос именно "теоретический", т.е. тот, в котором любой препод данной специальности что-то да знает. Или знает где посмотреть - это работа у него такая. И не говорите, что нам вот выдали задание, и бросили на произвол судьбы. НЕ ВЕРЮ! Я такого не видел. (Все курсовые, что мне приходилось делать всегда были рассчитаны на дурочка, ну вернее на нормального троечника, который умеет читать, писать и хочет (пусть не напрягаясь) что-то делать. Всегда в методичке есть куча рекомендованной по теме литературы, которой если нет в магазинах, то есть в библиотеке или, на худой конец, в читальном зале. Так что не надо завирать: я не поверю, что вы изучаете специальность "Вычислительная техника" в деревне Переколдобино, где нет ни библиотек, ни читальных залов).


У меня не стоит задача написать диплом или курсовую, я вообще уже не студент, это РЕАЛЬНАЯ задача, которая нужна МНЕ ну и еще нескольким людям ...
Что касается библиотеки, то с тех пор, как появился интернет, я забыл, что это такое ...

to Юрий Зотов ©
У нас в городе всего один магазин, который торгует компьютерной литературой, и в нем нет такой книги, а из интернет-магазина долго ждать, а времени мало ...


 
Digitman   (2002-09-27 13:13) [14]

>Star

про библиотеку ты забыл, а вот возможностями поисковых систем И-нета пользоваться так и не научился (или - еще не научился)

ровно 2 мин мне потребовалось, чтобы найти достаточно информативную ссылку, дающую в той или иной мере ответ на твой вопрос
http://structur.h1.ru/prog.htm


 
Дремучий   (2002-09-27 14:17) [15]

сории, не так уж информативно,
да и довольно паскудно оформлено...

>>Star
есть же НОРМАЛЬНЫЕ, ГОТОВЫЕ интерпретаторы причем с исходниками, только юзать. Или тебе важен сам процесс написания? И чтоб коментарии на русском? Если нужно, ссылки сдам в понедельник.


 
Digitman   (2002-09-27 14:33) [16]

>Дремучий

Не выдумывай. Для понимания концепции - вполне достаточно)
Остальное собственная голова доделает ... если она имеется)


 
Star   (2002-09-27 19:05) [17]

>Digitman
Это я видел, но, во-первых, меня оттолкнуло оформление, а во-вторых, я хочу заодно и сам понять, как это реализовать, а в чужой проге разбираться - дело неблагодарное.
Голова имеется, но ее не иногда хватает (после 13-часового рабочего дня)...


 
Star   (2002-09-27 19:22) [18]

>>Дремучий

Если не трудно, будте добры. Очень буду благодарен ...


 
Star   (2002-09-30 13:33) [19]

>>Дремучий

Подкинте, пожалуйста, ссылок, а то все выходные голову ломал - ничего конкретного не придумал.

А может кто знает, как сделать синтаксический анализ? Может у кого ссылки есть или инфа какая? А то я тут нарыл что-то, но это древность такая, что просто ужас. Хотелось бы пореальней чего-нибудь ...


 
Игорь Шевченко   (2002-09-30 14:06) [20]

Star © (30.09.02 13:33)

> А может кто знает, как сделать синтаксический анализ? Может
> у кого ссылки есть или инфа какая?


Ахо, Ульман - рулез фарева :-)

Хочется проще - поищи YACC для Delphi


 
Digitman   (2002-09-30 15:09) [21]

>Игорь Шевченко

А тебе встречался YACC для Delphi ? Стоит искать ?


 
Opuhshii   (2002-10-01 07:24) [22]

2Star © (30.09.02 13:33)
почитайте хотя бы хелп,.. многое поставит на свои места,. Object Pascal Reference,.. там вот есть раздел,.. Object Pascal Grammar,... а ещё есть TParser,.. тоже оч.нужная вам вещь,.. TParser + ваше "супер-бупер ядро анализа синтаксиса" ,.. хотя то что книжек у Вас нет, есть лишь одно, то что их нужно купить,..

ЗЫ. Пойду на форум медиков-хирургов,... может кому подскажу как операцию на позвоночнике без наркоза провести,.. студенту-практиканту медицинской академии,. ;)


 
Игорь Шевченко   (2002-10-01 10:15) [23]

Digitman © (30.09.02 15:09)

Да, конечно. И встречался, и стоит. Ссылку только не помню. Что-то было на www.torry.net

С уважением,


 
Star   (2002-10-06 14:48) [24]

А где почитать про TParser? А то в хелпе нету ...


 
Opuhshii   (2002-10-07 07:21) [25]

2Star © (06.10.02 14:48)
Delphi.vitpc.com + "Look at Source, Luke"


 
Кот Бегемот   (2002-10-07 09:45) [26]

Оййй, блиннн, разорался маленький и все сразу кинулись утешать его

>Star © (26.09.02 19:42)
>Н-да, помощи от вас ...

А он в 314зду Вас всех...

>Star © (06.10.02 14:48)
> А где почитать про TParser? А то в хелпе нету ...

Ага - а еще разжевать и в рот положить



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.007 c
7-56362
Juve
2002-08-03 15:48
2002.10.17
Проблемы с LPT


14-56308
dimon79
2002-09-18 11:53
2002.10.17
компиляция проекта


1-56093
Феликс
2002-10-08 21:11
2002.10.17
Почему все умирает?


1-56102
Kolya
2002-10-08 07:00
2002.10.17
TTreeView


1-56148
-Drive
2002-10-06 17:39
2002.10.17
Потоки !!! Мастера помогите !!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский