Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 17:12

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 536 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18 ... 36  След.
Автор Сообщение
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вс сен 03, 2017 13:18 
<Потерто по справедливому замечанию Victor__v>


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:39, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вс сен 03, 2017 17:03 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Gudleifr, ты максималист. KROL, молодой ишшо, ему надо по граблям походить, чтобы понять, что небольшая экономия времени на "написал побыстрее" выливается потом в дикие потери времени с отладчиком.

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

И вот надо одну идею у Вирта спереть в Форт. Слова CASE OF ENDOF ENDCASE когда-то предложил некто Dr.Eaker (не знаю кто это). Так вот у него неразрешенные еще ссылки вперед накапливаются на стеке и самым верхним лежит счетчик этих ссылок. А у Вирта неразрешенные ссылки вперед прямо в коде образуют список. Один хрен, пока адреса этих переходов не разрешены, их значения смысла не имеют. Так вот Вирт заставил их одно ссылаться на другое. И чтобы адреса разрешить надо иметь на стеке только одно значение - адрес самого последнего неразрешенного перехода. И потом от последнего к первому по этому списку пройтись. Красиво очень. Вот надо такой CASE сделать.

P.S. У Вирта накомпилированный код собирался в памяти и только в конце трансляции сбрасывался в файл. Я поначалу стал писать, чтобы этот код сразу выдавался как выходной поток. И напоролся, что при однопроходной трансляции из-за неразрешенных ссылок вперед это невозможно. Ну, чтобы не переделывать то, что уже написано, отправил выходной поток в файл и начал адреса переходов корректировать прямо в выходном файле, с помощью перемещения указателя в нем SEEK. Но вот сейчас пришла мысль, что если работу по разрешению ссылок вперед отдать ассемблеру, то однопроходная компиляция, как преобразование потока возможна. Т.е. компилятор принимает входной поток на Обероне и тут-же выдает выходной поток на ассемблере. А уж ассемблер о разрешении переходов на метки вперед позаботится. Вот так надо сделать.
В общем-то так работал когда-то RAFOS-Паскаль. Только пока до этого сам не дойдешь, не поймешь.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вс сен 03, 2017 17:34 
<Потерто по справедливому замечанию Victor__v>


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:39, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вс сен 03, 2017 17:39 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Но скорей всего у KROL не достигнуто пока состояние, когда пишешь именно то, что имеешь ввиду. А такого состояния нужно как можно быстрее достичь. Ну вот он пишет
Код:
AWORD TICK,"(')",0
mov dx,[_BL.v] ; C=" "
pop cx,bx ; Len, Addr
@@:
jcxz @f
cmp dl,[bx]
  jl @f
Он имел ввиду переход на метку @f , если символ [bx] больше пробела. Имел ли он при этом ввиду, что кириллица заведомо меньше пробела ? Или не имел ?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вс сен 03, 2017 17:58 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Ethereal писал(а):
И вот надо одну идею у Вирта спереть в Форт. Слова CASE OF ENDOF ENDCASE когда-то предложил некто Dr.Eaker (не знаю кто это). Так вот у него неразрешенные еще ссылки вперед накапливаются на стеке и самым верхним лежит счетчик этих ссылок. А у Вирта неразрешенные ссылки вперед прямо в коде образуют список. Один хрен, пока адреса этих переходов не разрешены, их значения смысла не имеют. Так вот Вирт заставил их одно ссылаться на другое. И чтобы адреса разрешить надо иметь на стеке только одно значение - адрес самого последнего неразрешенного перехода. И потом от последнего к первому по этому списку пройтись. Красиво очень. Вот надо такой CASE сделать.
Замечательный подход!
Ethereal писал(а):
P.S. У Вирта накомпилированный код собирался в памяти и только в конце трансляции сбрасывался в файл. Я поначалу стал писать, чтобы этот код сразу выдавался как выходной поток. И напоролся, что при однопроходной трансляции из-за неразрешенных ссылок вперед это невозможно. Ну, чтобы не переделывать то, что уже написано, отправил выходной поток в файл и начал адреса переходов корректировать прямо в выходном файле, с помощью перемещения указателя в нем SEEK. Но вот сейчас пришла мысль, что если работу по разрешению ссылок вперед отдать ассемблеру, то однопроходная компиляция, как преобразование потока возможна. Т.е. компилятор принимает входной поток на Обероне и тут-же выдает выходной поток на ассемблере. А уж ассемблер о разрешении переходов на метки вперед позаботится. Вот так надо сделать.
Почему-то вспомнился компилятор Абадябера Lint языка Степлер, который из-за байткода может одно из 3-х: исполнить, транслировать в листинг ассемблера, или сразу в com-файл. На этой странице вы можете найти ссылки: http://abaduaber.ru/Prog.htm
А вот прямая ссылка: http://abaduaber.ru/my/lastlint.zip
gudleifr писал(а):
Вот именно поэтому я и "обижаю" коллегу _KROL.
А я в принцепи особо не обижаюсь) Можно вопрос? Где найти вышеперечисленные книги?
gudleifr писал(а):
покурить Брэдли или Скэнлона, для экстрима пролитсать Джордейна


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вс сен 03, 2017 18:39 
<Потерто по справедливому замечанию Victor__v>


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:39, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вс сен 03, 2017 18:42 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Cпасибо! А Джордейна я когда-то вроде читал...(но уже не помню:])


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вс сен 03, 2017 19:17 
<Потерто по справедливому замечанию Victor__v>


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:39, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Пн сен 04, 2017 07:16 
Не в сети
Аватара пользователя

Зарегистрирован: Вт май 23, 2006 04:10
Сообщения: 129
Благодарил (а): 44 раз.
Поблагодарили: 5 раз.
Цитата:
А, вообще, Вирт фортерам противопоказан. У него, ведь, "алгоритмы+данные"... А в FORTH данных нет...

О как. "в FORTH данных нет..."
А куды они подевались :?: :?:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Пн сен 04, 2017 09:15 
<Потерто по справедливому замечанию Victor__v>


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:40, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Пн сен 04, 2017 15:58 
Не в сети
Аватара пользователя

Зарегистрирован: Вт май 23, 2006 04:10
Сообщения: 129
Благодарил (а): 44 раз.
Поблагодарили: 5 раз.
gudleifr писал(а):
zehotello писал(а):
А куды они подевались
Упрятаны в соответствующие "действия"....

Уффф... Нашлась пропажа ! :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Пн сен 04, 2017 17:32 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
gudleifr писал(а):
zehotello писал(а):
А куды они подевались
Упрятаны в соответствующие "действия"
Ну если мне хочется данных без соответствующих действий, то я их тоже создам. В режиме интерпретации :
HERE
1 C, 2 C, 3 C, 4 C, 5 C, \ данные сами по себе
DUP HERE OVER - H-OUT @ WRITE DROP
HERE - ALLOT


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Пн сен 04, 2017 17:57 
<Потерто по справедливому замечанию Victor__v>


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:40, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Пн сен 04, 2017 18:06 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
gudleifr писал(а):
А зачем?
Чтобы иллюстрировать тезис, что в Форте также возможны данные и не инкапсулированные с действиями. Т.е данные per se (лат.).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Пн сен 04, 2017 18:09 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Проще... кому как) Опять таки ответы получаются субъективными.
А временные данные можно хранить и в стеке.
P.s. Нашёл DOSовский FOBOS(by gudleifr). Дублирую по некоторым причнам. Очень интересная вещь, правда я не понял, почему там надпись "SHARE WARE".


Вложения:
g1.rar [93.38 Кб]
Скачиваний: 337
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 536 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18 ... 36  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB