Автор |
Сообщение |
|
|
Заголовок сообщения: |
|
|
|
danbst писал(а): Может кто-то рассказать про возможные недостатки такой организации?
она просто чуточку сложнее (больше слов в словаре надо сделать для нормальной работы)
и предполагает, что вы заранее будете знать, сколько места надо отводить под имена и сколько под код+данные.
Зато такая организация позволяет легко удалить все имена и всю словарную структуру получив на выходе чистый код, то есть уменьшить размер сохраненной программы раза в два.
[quote="danbst"]Может кто-то рассказать про возможные недостатки такой организации? [/quote]
она просто чуточку сложнее (больше слов в словаре надо сделать для нормальной работы)
и предполагает, что вы заранее будете знать, сколько места надо отводить под имена и сколько под код+данные.
Зато такая организация позволяет легко удалить все имена и всю словарную структуру получив на выходе чистый код, то есть уменьшить размер сохраненной программы раза в два.
|
|
|
|
Добавлено: Пн янв 25, 2010 00:04 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Еще интересна (для меня, как начинавшего с книги Starting Forth) структура словаря - заголовки словарных статтей отделены от остального, а остальное может быть типа код или данные. Может кто-то рассказать про возможные недостатки такой организации?
Код: ;;; The memory map is allocated as follows: ;;; ;;; [binary code and data> heap <headers][source code> blocks][ ] < stacks ] ;;; : ebp^ ^H tib: tin^> tp^ eob: ; eax^ esp^ ;;;
Еще интересна (для меня, как начинавшего с книги Starting Forth) структура словаря - заголовки словарных статтей отделены от остального, а остальное может быть типа код или данные. Может кто-то рассказать про возможные недостатки такой организации?
[code];;; The memory map is allocated as follows: ;;; ;;; [binary code and data> heap <headers][source code> blocks][ ] < stacks ] ;;; : ebp^ ^H tib: tin^> tp^ eob: ; eax^ esp^ ;;; [/code]
|
|
|
|
Добавлено: Вс янв 24, 2010 23:44 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Хищник писал(а): А все почему? Потому что "фишечки" поставлены впереди конкретных моделей применения.
Наоборот
[quote="Хищник"]
А все почему? Потому что "фишечки" поставлены впереди конкретных моделей применения.[/quote]
Наоборот
|
|
|
|
Добавлено: Ср янв 20, 2010 20:27 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Хищник писал(а): а вот с переходом к более серьезным проектам оно и рванет.
не обязательно.
Самая вероятная проблемная структура - это CASE...
еще проблема может возникнуть в тексте следующего вида: ... IF ." длинная текствая строка" THEN
вобщем, лично для меня самое неприятное, что это произведение не запускается на XP - вылетает с исключением в отладчике.
[quote="Хищник"]а вот с переходом к более серьезным проектам оно и рванет.[/quote]
не обязательно.
Самая вероятная проблемная структура - это CASE...
еще проблема может возникнуть в тексте следующего вида: ... IF ." длинная текствая строка" THEN
вобщем, лично для меня самое неприятное, что это произведение не запускается на XP - вылетает с исключением в отладчике.
|
|
|
|
Добавлено: Ср янв 20, 2010 19:26 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Еще более интересен там подход с компиляцией short jmp на структурах управления. То есть на +127 там можно прыгнуть, а больше - нет. Попробовать - хватит, потому что код обычно довольно простой, а вот с переходом к более серьезным проектам оно и рванет. Не так уж и страшно, конечно, можно упаковывать код в определения, однако же неприятно.
А все почему? Потому что "фишечки" поставлены впереди конкретных моделей применения.
Еще более интересен там подход с компиляцией short jmp на структурах управления. То есть на +127 там можно прыгнуть, а больше - нет. Попробовать - хватит, потому что код обычно довольно простой, а вот с переходом к более серьезным проектам оно и рванет. Не так уж и страшно, конечно, можно упаковывать код в определения, однако же неприятно.
А все почему? Потому что "фишечки" поставлены впереди конкретных моделей применения.
|
|
|
|
Добавлено: Ср янв 20, 2010 19:05 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
кстати, интересное решение.
Режимов компиляции и интерпретации в данной системе нет. Т.е. система находится все время в режиме компиляции, и обходится immediate словами для исполнения каких либо действий!
кстати, интересное решение.
Режимов компиляции и интерпретации в данной системе нет. Т.е. система находится все время в режиме компиляции, и обходится immediate словами для исполнения каких либо действий!
|
|
|
|
Добавлено: Ср янв 20, 2010 13:07 |
|
|
|
|
|
Заголовок сообщения: |
FreeForth |
|
|
FreeForth
написан на fasm.
операционные системы: windows, linux
платформа: i386, 32 бита
лицензия: свободная (completely free)
[url=http://christophe.lavarenne.free.fr/ff/]FreeForth[/url]
написан на [url=http://flatassembler.net/]fasm[/url].
операционные системы: windows, linux
платформа: i386, 32 бита
лицензия: свободная (completely free)
|
|
|
|
Добавлено: Ср янв 20, 2010 08:09 |
|
|
|
|