|
Вопрос # 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
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|