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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 80 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Чт июл 04, 2013 17:25 
<Удалено по причине большого количества флуда в теме>


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

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 02:35 
<Удалено по причине большого количества флуда в теме>


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

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 02:47 
<Удалено по причине большого количества флуда в теме>


Последний раз редактировалось gudleifr Ср янв 17, 2018 12:41, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 15:04 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
gudleifr писал(а):
Без STATE...
Доводы против:
У Мура в cmForth не было STATE. Его бы твои доводы не вштырили.

: INTERPRET ( n n) >IN 2! BEGIN 1 -' IF NUMBER ELSE EXECUTE THEN AGAIN ; RECOVER

: ] BEGIN 2 -' IF 1 -FIND IF NUMBER \ LITERAL
ELSE DUP @
DUP 140040 AND 140040 = OVER 170377 AND 140342 XOR AND
SWAP 170040 AND 100040 = OR IF @ 40 XOR ,C
ELSE ,A THEN THEN
ELSE EXECUTE THEN AGAIN ; RECOVER

: [ POP DROP ;

: : CREATE -1 ALLOT SMUDGE ] ;

и все. Крутится вечный цикл INTERPRET , он может исполнить и слово ] , слово ] это вечный цикл компилятора , а слово [ это выход из компилятора через RDROP EXIT



За это сообщение автора Ethereal поблагодарил: _KROL
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 15:47 
<Удалено по причине большого количества флуда в теме>


Последний раз редактировалось gudleifr Ср янв 17, 2018 12:41, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 17:10 
<Удалено по причине большого количества флуда в теме>


Последний раз редактировалось gudleifr Ср янв 17, 2018 12:41, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 17:50 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Ещё вариант разделения компилятора и инрепретатора

VECT DOING
VECT NOTFOUND
: INTERPRET
BEGIN
PARSE-NAME DUP WHILE
SFIND IF DOING ELSE NOTFOUND THEN
REPEAT
2DROP
;

: ] ['] compilation TO DOING ['] NOTF,, TO NOTFOUND ;
: [ ['] EXECUTE-INTEPR TO DOING ['] NOTF-INTR TO NOTFOUND ;

: ; RET, [COMPILE] [ ;

Как-то так

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 17:53 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Интереснее посмотреть где эта "кнопка" расположена в "цикле разработки по Броуди"
А зачем она?.. С другой стороны, обычным "[" тогда можно сломать всю систему за раз, и никакой ФИГ не разберётся куда она потом вернётся :)

Victor__v писал(а):
...
Прикольно) Только обработки чисел пока нету.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 17:59 
<Удалено по причине большого количества флуда в теме>


Последний раз редактировалось gudleifr Ср янв 17, 2018 12:41, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 17:59 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
_KROL писал(а):
gudleifr писал(а):
Интереснее посмотреть где эта "кнопка" расположена в "цикле разработки по Броуди"
А зачем она?.. С другой стороны, обычным "[" тогда можно сломать всю систему за раз, и никакой ФИГ не разберётся куда она потом вернётся :)

Victor__v писал(а):
...
Прикольно) Только обработки чисел пока нету.


а
Цитата:
VECT NOTFOUND
для чего тогда, а?

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 18:07 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Цитата:
VECT NOTFOUND
Понятно, ТАМ, если не число(при подключенном NUMBERS), вызывается исключение.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Вт янв 16, 2018 23:26 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
а
Цитата:
VECT NOTFOUND
для чего тогда, а?


Как в классическом анекдоте - сахар в баночке из-под чая, на которой приклеена бумажка "соль". И правда, где же еще числа обрабатывать? Конечно, в NOTFOUND! :D Причем даже бумажки "обработка чисел" нет, надо проникнуться сектантскими сказками и принять такой способ как истину. Ну и свой обработчик NOTFOUND научиться писать так, чтобы не сломать то, что на него уже навесили.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Ср янв 17, 2018 09:12 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Hishnik писал(а):
Victor__v писал(а):
а
Цитата:
VECT NOTFOUND
для чего тогда, а?


И правда, где же еще числа обрабатывать? Конечно, в NOTFOUND! :D

А где ещё? Если это слово отвечает за обработку не распознанных строк.

Hishnik писал(а):
Ну и свой обработчик NOTFOUND научиться писать так, чтобы не сломать то, что на него уже навесили.


Это особенности примера.
К тому же.
Кто-то на любое возмущение тем, что этот NOTFOUND не расширяем, скажет а зачем его расширять?

Короче, где-то пригодится, возможно, подобная схема интерпретатора даже используется.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Ср янв 17, 2018 11:27 
<Удалено по причине большого количества флуда в теме>


Последний раз редактировалось gudleifr Ср янв 17, 2018 12:42, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Вторичная Forth-машина
СообщениеДобавлено: Ср янв 17, 2018 11:29 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
А где ещё? Если это слово отвечает за обработку не распознанных строк.

Очевидный вариант - ввести NUMBER в явном виде. А вот если и NUMBER не смог разобрать это, тогда уже NOTFOUND.

Victor__v писал(а):
Кто-то на любое возмущение тем, что этот NOTFOUND не расширяем, скажет а зачем его расширять?

А ошибки игнорировать и пытаться продолжить или останавливаться с исключением?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 80 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

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


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

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


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

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