Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 532

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Здравствуйте, уважаемые эксперты!
Помогите плиз. Есть вопрос по написанию проги к курсовму проекту "Интерпретатор языка Delphi."
Задание:Написать программу, выполняющую функции интерпретатора программ с языка Delphi
Или прогу Переводчик. (на Delphi)
Задание:Написать программу, при помощи которой можно переводить несложные тексты с английского языка. Программа должна загружать файлы с текстом и словарем из оболочки или путем передачи имен файлов как параметров командной сроки и выдавать файл с переводом.

Если можете то напишите всю программу или хотя бы с чего начать.

Мыло: dagget2002@mail.ru

Заранее благодарен

Виктор Тумс Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Виктор Тумс (статус: Посетитель)
Вопрос отправлен: 26 апреля 2007, 14:20
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Вадим К

Ну начнём по кусочкам.
"Интерпретатор языка Делфи" - во первых надо вначале синтаксис определить - что будет в вашем интерпретаторе.
во вторых, интерпретатор для делфи - маленькое садомазо. Лучше компилятор.
>>Если можете то напишите всю программу
Группа специалистов сидят годами над этим вопросом. Поэтому написать можно, но стоить вам это будет не одну тысячу.
Что же делать?
Если хочеться какой-то примитивный компилятор (арифметические выражения, условия и циклы) то, почитав вот это http://proklondike.com/contentview.php?content=272. И если захотите, то через месяц другой у вас будет функциональный код. Причём вы будете понимать, что же именно он делает. Потом можно догнаться этим http://proklondike.com/contentview.php?content=273.
Но если разбирать лень, учиться также, а препода ошарашить, тогда идем на сайт FreePascal.org - это сайт разработки компилятора, который совместимый с делфи. А там можно и исходнички качнуть ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/source-2.0.4/fpcbuild-2.0.4.zip Правда они маленькие - около 30мегабайт.
По поводу переводчика. МОжно поступить просто - сделать пословный перевод. Тогда нужно именть только словарик с переводами. Но вы столкнётесь с тем, что в переводе слова будут несогласованы между собой. Что бы сделать согласование, нужно ещё быть и лингвистом и более-менее владеть обоими языками. (говорить и читать свободно).

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 26 апреля 2007, 16:10
Оценка за ответ: 4

Ответ #2. Отвечает эксперт: Yurchik

Здравствуйте, Виктор Тумс!

Мда, с переводчиком это совсем сложно, если хочеться получить что-то более-менее достойное. Интерпретатор и компилятор, тоже, конечно, не легко, но, по-моему все же проще. А вот программисты Unix знают, что свои собственные интерпретаторы писать нужно не так уж редко, и в их распоряжении имеются такие мощные инструменты, как lex и yacc, а также более совершенные flex и bison. Это лексический и синтаксический анализаторы (соответственно), и обычно их используют в связке. Примитивный компилятор пишется за недельку-другую с нуля.
На вход lex'a подают файлы, описывающие лексемы во входном потоке, yacc'a - файл грамматики языка; а на выходе получаем комментированный код на языке Си.
Есть версии Flex и Bison под Windows.
Как писать входные файлы и где взять Windows версии:
- man lex
- man yacc
- Gooooogle.

ENJOY :-)

Ответ отправил: Yurchik (статус: 3-ий класс)
Время отправки: 27 апреля 2007, 21:15
Оценка за ответ: 4


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.02 сек.