Forth http://fforum.winglion.ru/ |
|
совсем-совсем новичoк ;) объясните, плиз, что и как http://fforum.winglion.ru/viewtopic.php?f=24&t=1304 |
Страница 1 из 5 |
Автор: | Necromancer13 [ Вс май 25, 2008 07:23 ] |
Заголовок сообщения: | совсем-совсем новичoк ;) объясните, плиз, что и как |
Здравствуйте =) меня уже давно интересует форт. ну и сегодня я решил с ним познакомиться нашел в Нете книжечку "Л. Броуди НАЧАЛЬНЫЙ КУРС ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ ФОРТ " и даже успел уже прочитать 3 главы дошел до того, как компилировать исходники ФОрта... там про какие-то блоки пишет... хз-хз.. книга-то старая... попробовал скомпилировать такой исходник: ." Hello World!" Так мне ругается SP-FORTH, что ." только для режима компиляции! Чот не так? %) ПОдключил инклуды , как у одном с примеров, но не помогло опять это пишет Win32Forth вообще компилить у меня не хочет. Что делать? :-[ |
Автор: | WingLion [ Вс май 25, 2008 07:44 ] |
Заголовок сообщения: | |
наберите : TEST ." Hello Word!" ; потом на следующей строчке TEST п.с. я не караулю новичков на форуме, просто только что проснулся п.п.с. можно еще попробовать здесь почитать, если не поможет, будем разбираться, что непонятно |
Автор: | Necromancer13 [ Вс май 25, 2008 07:56 ] |
Заголовок сообщения: | |
спасибо =) строчка выводится, но почему не компилится в экзешник? P.S. А почему чтоб воспользоваться этим ." надо нове слово определять? ^_^ п.с. Спасибо за ссылку =) сейчас почитаю =) |
Автор: | WingLion [ Вс май 25, 2008 08:04 ] |
Заголовок сообщения: | |
Компиляция в экзешник для форта - это почти интимный процесс. Для этого необходимо вводить специальные команды. В книге Броуди про это нет, потому что книга писалась тогда, когда не было монстров типа Windows XP и других подобных операционных систем. И для каждой реализации Форта, ответ на вопрос "как компилировать в экзешник" надо искать в описании к конкретной реализации. |
Автор: | Дядя Ваня [ Вс май 25, 2008 08:26 ] |
Заголовок сообщения: | |
А ответ на вопрос про экзешник будет? |
Автор: | WingLion [ Вс май 25, 2008 08:44 ] |
Заголовок сообщения: | |
Дядя Ваня писал(а): А ответ на вопрос про экзешник будет?
Куда ж мы денемся от ответов с подводной лодки? про компиляцию в экзешник (конкретно для SPF!) читаем здесь: http://spf.sourceforge.net/docs/intro.ru.html#save Надо только помнить, что экзешник, сохраненый словом SAVE, содержит в себе и весь Форт, что может быть неприятно, если необходимо экономить место на диске, но это в современной ситуации не столь больной вопрос, поэтому о нем можно вначале (при первом знакомстве с Фортом) забыть. Если же он всплывет снова, тогда обратиться к вопросу о "целевой компиляции", которая в Форте и предназначена для генерации исполняемых файлов под конкретную задачу, и при такой компиляции экзешники получаются минимальных размеров. --- добавлено позже --- Пример в указанной ссылке может показаться запутанным, поэтому привожу здесь более простой пример: Код: : МОЯ-ПРОГРАММА ." Hello World!" KEY ;
' МОЯ-ПРОГРАММА TO <MAIN> S" test.exe" SAVE Наберите этот текст прямо с консоли, и в вашем рабочем каталоге появится экзешник test.exe который при исполнении выдаст строчку Hello World! на экран. |
Автор: | Kamikaze [ Вс май 25, 2008 11:16 ] |
Заголовок сообщения: | |
Можно попробовать "чистый компилятор" ForthEC. Но, предупреждаю, это аутсайдерский вариант - кроме автора данного диалекта и меня на нем никто больше не пишет!!! 1. Качаем сам форт: http://jiggawatt.org/badc0de/forthec/forthec14.zip 2. Качаем к нему MASM32: http://www.masm32.com/masmdl.htm 3. Пишем свою прогу 4. Запускаем ее на компиляцию: forthec -t win32 helloworld.f helloworld.exe |
Автор: | вопрос [ Вс май 25, 2008 11:32 ] |
Заголовок сообщения: | |
Kamikaze писал(а): Можно попробовать "чистый компилятор" ForthEC. Но, предупреждаю, это аутсайдерский вариант - кроме автора данного диалекта и меня на нем никто больше не пишет!!! Вполне возможно, что зря.
|
Автор: | Kamikaze [ Вс май 25, 2008 11:53 ] |
Заголовок сообщения: | |
вопрос писал(а): ...Вполне возможно, что зря.
Он крайне минимален и сильно приближен к ассемблеру, с помощью которого, собственно, и компилируются готовые EXE и DLL. Единственное но - работа с текстом в нем не предусмотренна. Однако прежде чем выбрать свой ФОРТ (свет клином на СПФ все-же не сошелся), рекомендую заглянуть на форуме в раздел "Конкурс решения задач" (http://fforum.winglion.ru/viewforum.php?f=19) Кстати там, в теме "Преобразование текста в код Морзе и обратно" (http://fforum.winglion.ru/viewtopic.php?t=1102) есть образец и на Фортеке. |
Автор: | WingLion [ Вс май 25, 2008 13:46 ] |
Заголовок сообщения: | |
Народ, давайте, оставим тему для вопросов новичков, а не зафлеймлять ее проталкиванием различных версий форта. |
Автор: | Hishnik [ Вс май 25, 2008 14:18 ] |
Заголовок сообщения: | |
Компиляция в exe не является в Форте абсолютно необходимой, потому что можно написать Код: : test <какие-то мои действия> ;
test При запуске Форта с таким файлом в качестве параметра новое слово сначала определится, а потом запустится. Скорость такой компиляции "на лету" достаточно высока, поэтому разницы междк загрузкой exe и трансляцией текста на современном железе практически незаметна. Большим плюсом такого подхода является и то, что после завершения всех определений и выполнений мы окажемся в консоли Форта, и сможем при необходимости проделать что-то еще. Еще можно отлаживаться в той же консоли, не заводя отдельных отладчиков. Вобщем, такой интерактивный режим настолько удобен для Форта, что компиляция в exe является обычно вспомогательным инструментом. |
Автор: | Kamikaze [ Вс май 25, 2008 15:22 ] |
Заголовок сообщения: | |
WingLion писал(а): Народ, давайте, оставим тему для вопросов новичков,
а не зафлеймлять ее проталкиванием различных версий форта. Не "проталкиванием версий", а вербовкой новичков! PS Да и какая разница - один диалект или другой? Главное - ФОРТ! |
Автор: | Дядя Ваня [ Вс май 25, 2008 19:21 ] |
Заголовок сообщения: | |
Kamikaze писал(а): Не "проталкиванием версий", а вербовкой новичков! rupor Shocked
PS Да и какая разница - один диалект или другой? Главное - ФОРТ! Лично мне те ссылки показались способом "запутывания вероятного противника". А новички на форуме - это противник. В первом посте говорилось про SP-FORTH, про него и надо отвечать, а иначе получится "мы Вам про Ерему, а Вы нам про Фому" |
Автор: | mOleg [ Вс май 25, 2008 20:20 ] |
Заголовок сообщения: | |
Necromancer13 писал(а): спасибо =) строчка выводится, но почему не компилится в экзешник? потому что сохранение наработанного кода - это отдельная функция. Necromancer13 писал(а): P.S. А почему чтоб воспользоваться этим ." надо нове слово определять? ^_^
потому, что есть для этого другое слово: .( Просто вывод строки ) |
Автор: | WingLion [ Вс май 25, 2008 21:02 ] |
Заголовок сообщения: | |
mOleg писал(а): Necromancer13 писал(а):
P.S. А почему чтоб воспользоваться этим ." надо нове слово определять? ^_^ потому, что есть для этого другое слово: .( Просто вывод строки ) Надо заметить, что это в общем-то неуважительная причина по нынешним временам. А в прошлые - экономили на всем чем можно, поэтому и сделали два разных слова, которые как-будто делают одно и то же, но одно это делает прямо в режиме интерпретации, другое - при исполнении после компиляции. |
Страница 1 из 5 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |