Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 08:40

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: STATE
СообщениеДобавлено: Ср ноя 02, 2011 16:12 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
В каком состоянии чаще находится STATE, в TRUE или в FALSE? Имеется ввиду во время трансляции программы. Вроде бы в TRUE(режим компиляции). Но по окончанию каждого определения слово ; переводит ее в FALSE. Зачем? Проще было бы слово : сделать
словом немедленного исполнения. После формирования заголовка слова можно было бы переключиться в компиляцию, а словом
; режим не переключать. Отсюда уже недалеко до удаления флага немедленного исполнения из словарной статьи путем разметки
имен слов с помощью цвета( как у Мура в colorforth) или с помощью суффикса, например DUP это компиляция DUP, а DUP' это исполнение DUP. При этом STATE уже не нужна. То есть все время компиляция, прерываемая словами немедленного исполнения.
Любое слово, а не только исполняемое, можно исполнить если закончить его суффиксом. В то же время исполняемые слова можно
скомпилировать если закончить их суффиксом компиляции. Вроде все. При реализации этой идеи уходит контекст состояния трансляции. В любом месте программы не нужно помнить в каком состоянии находится транслятор.
Какие могут быть тут подводные камни?

_________________
С уважением, chess



За это сообщение автора chess поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Ср ноя 02, 2011 17:56 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
Вот, помни ещё, что эти словечки делают - итак уже голова от них пухнет )
Создание слов посредством слов содержащих STATE...
И вот какая мне разница что и как там муравьи у себя в муравейнике делают, отдал им приказ - пусть исполняют хД



За это сообщение автора Alexander поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Ср ноя 02, 2011 18:50 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
chess писал(а):
В каком состоянии чаще находится STATE, в TRUE или в FALSE?

в каком состоянии находится флаг CARRY процессора чаще во время исполнения программы, не проще ли его принудительно его сбросить, а проверять перенос специальной командой?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur



За это сообщение автора mOleg поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Ср ноя 02, 2011 20:03 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Alexander писал(а):
Вот, помни ещё, что эти словечки делают - итак уже голова от них пухнет )

Слова сами создаете, сами и помните. Если вы насчет суффиксов, то их применение не вносит усложнения в процесс запоминания имен слов.
Вот примерная схема:
name: - cуффикс : - создать заголовок слова с именем name
name - компиляция этого слова
name' - исполнение этого слова
name, - отложенная компиляция этого слова
В подавляющем числе случаев будет использоваться name без суффикса, так как
компиляция это преобладающий процесс при трансляции.
Alexander писал(а):
Создание слов посредством слов содержащих STATE...

Создание слов, в которых формируется два разных кода на каждое состояние STATE,
это будет точнее.

_________________
С уважением, chess



За это сообщение автора chess поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Ср ноя 02, 2011 20:10 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
mOleg писал(а):
в каком состоянии находится флаг CARRY процессора чаще во время исполнения программы, не проще ли его принудительно его сбросить, а проверять перенос специальной командой?

Флаг CARRY не аналог переменной STATE ни в малейшей мере.

_________________
С уважением, chess



За это сообщение автора chess поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Ср ноя 02, 2011 20:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
chess писал(а):
В каком состоянии чаще находится STATE, в TRUE или в FALSE? Имеется ввиду во время трансляции программы. Вроде бы в TRUE(режим компиляции).


В FALSE явно дольше, потому что обычно программист дольше набирает код нежели он компилируется транслятором.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)



За это сообщение автора WingLion поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Ср ноя 02, 2011 21:21 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
WingLion писал(а):
В FALSE явно дольше, потому что обычно программист дольше набирает код нежели он компилируется транслятором.

Это если текст набирать в консоли.
Но так как делать это в редакторе гораздо удобнее, то TRUE все-таки дольше. :)

_________________
С уважением, chess



За это сообщение автора chess поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Ср ноя 02, 2011 22:18 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
chess писал(а):
Это если текст набирать в консоли.
Но так как делать это в редакторе гораздо удобнее, то TRUE все-таки дольше.


Тоже не факт, потому что часть исходника, загружаемого из файла, всегда исполняется.

Короче, гнилой спор...

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)



За это сообщение автора WingLion поблагодарил: ctrl-C
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Чт ноя 03, 2011 09:29 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
WingLion писал(а):
Тоже не факт, потому что часть исходника, загружаемого из файла, всегда исполняется.

С этим я не спорю. Только эта часть по отношению к компилируемой мала. Навскидку суммарно процента пожалуй не наберется.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Чт ноя 03, 2011 12:25 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
Вот примерная схема:
name: - cуффикс : - создать заголовок слова с именем name
name - компиляция этого слова
name' - исполнение этого слова
name, - отложенная компиляция этого слова

Вот так, легким росчерком, изменен принцип построения грамматики Форта...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Чт ноя 03, 2011 12:53 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
Вот так, легким росчерком, изменен принцип построения грамматики Форта...

На самом деле я не хочу менять грамматику форта. Я хочу к уже существующей грамматике добавить дополнительные возможности в виде трансляции имен с суффиксами. Кстати, возможность работать без оглядки на флаг IMMEDIATE уже существующих словарных статей, видимо приведет к тому, что состояние переменной STATE по умолчанию будет все-таки 'исполнение'
(не надо править исходники форта, нужно лишь немного к ним добавить текста).
Просто трансляция текста в доп. грамматике не будет переключать STATE(это эквивалентно, тому, что его не будет).

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Чт ноя 03, 2011 13:27 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
На самом деле я не хочу менять грамматику форта. Я хочу к уже существующей грамматике добавить дополнительные возможности в виде трансляции имен с суффиксами.

Это и есть изменение. Сейчас грамматика имеет простейший вид - элементы языка разделяются символами-разделителями. Предлагается дополнить это правило: "но если на конце апостроф, то...", и так далее.

chess писал(а):
Кстати, возможность работать без оглядки на флаг IMMEDIATE уже существующих словарных статей, видимо приведет к тому, что состояние переменной STATE по умолчанию будет все-таки 'исполнение'

А для некоторых вариантов кросс-компиляторов состояние "компиляция". Причем всегда :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Чт ноя 03, 2011 14:05 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
Это и есть изменение. Сейчас грамматика имеет простейший вид - элементы языка разделяются символами-разделителями. Предлагается дополнить это правило: "но если на конце апостроф, то...", и так далее.

Для тех кто продолжит писать без суффиксов ничего не изменится. Даже если будут созданы слова с окончанием равным символу суффикса, то тоже ничего не изменится. В этом смысле грамматика не изменилась.
Для тех же кто будет использовать суффиксы, да, появится возможность работать без слов, анализирующих флаг IMMEDIATE
и не удерживать в поле внимания глобальный контекст 'компиляция-исполнение'.
Хищник писал(а):
А для некоторых вариантов кросс-компиляторов состояние "компиляция". Причем всегда

Да, у меня также - и это удобно. Вот и хочется работать аналогично всегда.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Чт ноя 03, 2011 14:32 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
Для тех же кто будет использовать суффиксы, да, появится возможность работать без слов, анализирующих флаг IMMEDIATE
и не удерживать в поле внимания глобальный контекст 'компиляция-исполнение'.

У меня тут состояние "угадал все буквы, но не понял слово". Что значит "удерживать в поле внимания глобальный контекст"? А когда программист пишет функции на Си, он что, тоже удерживает в поле внимания глобальный контекст? Дескать, сейчас у меня глобальный контекст функции int function1(), и как бы мне его не перепутать с глобальным контекстом void function2(). И получается, что на Си надо бы свалить весь код в одну кучу, потому что так проще.
chess писал(а):
Да, у меня также - и это удобно. Вот и хочется работать аналогично всегда.

Удобство - понятие субъективное. Можно рассказать success story, но тема выглядит так, как будто надо срочно срываться с места и переделывать Форт в Настоящий Улучшенный Форт.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: STATE
СообщениеДобавлено: Чт ноя 03, 2011 15:03 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
У меня тут состояние "угадал все буквы, но не понял слово". Что значит "удерживать в поле внимания глобальный контекст"? А когда программист пишет функции на Си, он что, тоже удерживает в поле внимания глобальный контекст? Дескать, сейчас у меня глобальный контекст функции int function1(), и как бы мне его не перепутать с глобальным контекстом void function2(). И получается, что на Си надо бы свалить весь код в одну кучу, потому что так проще.

Сразу скажу, Си я не знаю, поэтому ссылки на не него мне ни о чем не говорят.
Контекст, синоним - состояние. Глобальный - здесь в смысле глобальный инструментальный. Транслятор
транслирует текст программы, вообще говоря по разному, в зависимости от содержания STATE, которое меняют некоторые лексемы текста программы. Глобальность в том и состоит, что после переключения очередным переключающим словом STATE уходит в определенное состояние, которое нужно удерживать в поле внимания(помнить), с тем, чтобы использовать корректно слова, которые работают по разному при разном состоянии STATE, а выглядят одинаково. Причем состояние STATE, вообще говоря, может никак не соотноситься с состоянием системы(устройства), для которого пишется программа.
Хищник писал(а):
Удобство - понятие субъективное. Можно рассказать success story, но тема выглядит так, как будто надо срочно срываться с места и переделывать Форт в Настоящий Улучшенный Форт.

Не надо срываться. В первом посте я лишь попросил показать подводные камни.

_________________
С уважением, chess


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

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


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

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


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

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