Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт фев 20, 2018 03:38

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Моя система(_KROL)
Автор Сообщение
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
_KROL писал(а):
Да нет, я не про "детское" программирование)
Именно про него! Взрослое программирование - это умение взрослого инженера скормить свою задачу компьютеру с наименьшими затратами. Взрослое "просто программирование" - без привязки к конкретным инженерным проблемам - оно же системное, предполагает владение математикой и/или электроникой "чуть" более, чем в объеме профильного ВУЗа.

_KROL писал(а):
Всё, теперь понятно как мне лучше и понятнее свой Форт писать.
Опять пугаете? Успокойтесь, т.к. Вам изначально "нечего сказать", а учиться Вы не хотите, то ничего интересного для других Вы никогда не напишете. Обломаетесь и будете, как большинство присутствующих, авторитетно надувать щеки: мол, видел ваш FORTH, писал, ничего особо интересного...
Сообщение Добавлено: Ср фев 07, 2018 16:20
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
Всё! Флудить не буду, и так его тут много.
Сообщение Добавлено: Ср янв 31, 2018 22:23
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
mOleg писал(а):
_KROL писал(а):
Ну это лишь идея... Спасибо!

Тут хочется вот что сказать, представь,
играет музыка танцевальная, а ты выходишь, и начинаешь танцевать под другую музыку.
На сколько это будет выглядеть эстетично, красиво, уместно?
Ты ещё моей музыки не слышал)) Поэтому такими стрёмными эксперементами я занимаюсь лишь мысленно ;)
KPG писал(а):
Интерпритация данных слов встречается в некоторых Форт системах, как сокращение аналогов стандартных слов LSHIFT и RSHIFT
Я знаю, даже у меня раньше было так.
Сообщение Добавлено: Ср янв 31, 2018 22:20
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
_KROL писал(а):
...
Т.о.
<< ( addr sz -- flag) \ записать блок информации куда-то
>> ( addr maxsz -- ) \ считать блок информации

Интерпритация данных слов встречается в некоторых Форт системах, как сокращение аналогов стандартных слов LSHIFT и RSHIFT
Сообщение Добавлено: Ср янв 31, 2018 21:34
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
_KROL писал(а):
"DOS" в начале подразумевает, что может быть какой-нибудь BIOSIO или UNIXIO, и т.д.

Не валите все в одну кучу. Переключением источников слов занимается не СИМВОЛ (частью которого является WORD) а ОК. Оптимизация им. Баранова&Ноздрунова (по переключению TIB/BLOCK) это уже излишние усложнения, которыми будет смысл заниматься, когда Вы поймете, зачем нужны и СИМВОЛ и ОК по отдельности.
Но, как сказал один наш знакомый, Вы можете продолжать плясать с бубном, пытаясь попасть в такт "общепринятых ритмов".
Сообщение Добавлено: Ср янв 31, 2018 20:28
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
_KROL писал(а):
Ну это лишь идея... Спасибо!

Тут хочется вот что сказать, представь,
играет музыка танцевальная, а ты выходишь, и начинаешь танцевать под другую музыку.
На сколько это будет выглядеть эстетично, красиво, уместно?

Язык, тоже по-своему музыка, и если ты "танцуешь" используя его ритмы, то твои движения выглядят органично, и сами подчеркивают мелодию, а если ты "танцуешь" другую мелодию (другой ритм), то - неуместно или ужасно не эстетично.
Это не значит, что ты не можешь продолжить мелодию, ввести новый ритм и движения, но должен быть вкус, что ли.
Сообщение Добавлено: Ср янв 31, 2018 19:35
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
Ну это лишь идея... Спасибо!
Сообщение Добавлено: Ср янв 31, 2018 18:30
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
Нам 500 лет! с ЮБИЛЕЕМ!
:hey;
Сообщение Добавлено: Ср янв 31, 2018 17:51
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
Начнём с вопроса.
Зачем это надо?

Код выглядит усложнённым.
Не легче ли
S" WHAT YOU NAME" H-STDOUT WRITE-FILE THROW \ a u handler -- err|0
HERE DUP 100 H-STDIN READ-FILE THROW \ a u handler -- u? err|0
S" OUTPUT.TXT" R/W CREATE-FILE THROW \ a u method -- handler err|0
DUP >R
WRITE-FILE THROW
R> CLOSE-FILE THROW

Если тебе зачем-то надо прочитать консоль при трансляции файла, то это пишется в одно слово.

DOSIO и пр. Это словари? Ежели да, то они должны быть immediate.
К тому же они должны уметь не затирать верхний элемент стека контекста. Тут либо изгаляться, либо модернизировать механизм поиска слов. Тебе оно надо?
Идём дальше. В моём примере и к консоли и файлам используются одни и те же слова.
Далее, можно использовать стандартные слова для доступа к файлам. К примеру, TYPE переопределив в нём переменную на указатель файла/консоли и пр.
Сообщение Добавлено: Ср янв 31, 2018 17:51
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
Код:
#include <iostream>
#include <strings>
using namespace std;
main()
{
string name;
cout << "Hello! What's you name?";
cin >> name;
fstream fout;
fout.open("output.txt",trunc); // не помню точно, как там создавать файлы. Вроде так.
fout << "Your name is " << name ;
fclose(fout);
}

Код:
: MAIN
DOSIO \ переключаемся на в/в через TIB за счёт функций DOS
<<" Hello! What's you name?"
">> \ ввод строки с консоли
TIB @ #TIB
DOSFIO \ переключаемся на файловый в/в через BUF за счёт функций DOS
FCREATE" output.txt" ( tib tib# flag) ?HALT \ неважно, что я всё примешиваю даже Pascal, это лишь примерный код!
<< \ запись блока по адресу tib размером tib#
DROP
FCLOSE
;

Причём TIB может быть в модуле DOSIO, а BUF, HND и т.д. в DOSFIO.
Т.о.
<< ( addr sz -- flag) \ записать блок информации куда-то
<<" ( -- ) \ записать скомпилированную прежде строку (надо это определение ещё уточнить...)
<<C ( char -- ) \ записать сиивол
>> ( addr maxsz -- ) \ считать блок информации
">> ( -- addr sz ) \ считать строку
C>> ( -- char ) \ считать символ
Где-то так. Необязателен конечно си-подобный стиль написания.
P.s. "DOS" в начале подразумевает, что может быть какой-нибудь BIOSIO или UNIXIO, и т.д.
А вообще, это лишь ещё не развитый подход, требующий внутренней доработки (продуманной организации соответствующего модуля).
Сообщение Добавлено: Ср янв 31, 2018 17:11
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
_KROL писал(а):
Ну вспомним тот же Си++. Есть библиотека <iostream>, есть <fstream>.
Пусть у нас будут те же словари iostream и fstream, а там слова типа << >> и другое (для вариаций ввода-вывода).
Если нам надо работать с TIBом, то выделяем вперёд iostream. Если же с конкретным (текущим) файлом, то делаем так, чтобы fstream оказалсь впереди контекста.
И да, если "плюнуть" на TIB, то можно как в UNIX сделать пару консолей)


Теперь понятней, но не намного.
условным кодом сего действа можешь проиллюстрировать?
Сообщение Добавлено: Ср янв 31, 2018 15:28
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
_KROL писал(а):
1. Низкоуровневые слова
2. Платформо-зависимые и хост-зависимые (от внешней ОС) форт-слова
3. Высокоуровневые слова
Все проще - нужны только (2). (1) и (3) добавляются только по мере надобности.

Сунь-Цзы:
Цитата:
Поэтому и говорится: если знаешь его и знаешь себя, сражайся хоть сто раз, опасности не будет; если знаешь себя, а его не знаешь, один раз победишь, другой раз потерпишь поражение; если не знаешь ни себя, ни его, каждый раз, когда будешь сражаться, будешь терпеть поражение.
Ваша армия - это машина, на которой Вы пишете. Противник - задача. Написание FORTH - это лишь тактика боя.
Сообщение Добавлено: Ср янв 31, 2018 15:05
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
Эх, я на "перекрёстке" старых и новых идей. Например, есть идея разделить на начальных 3 категории слова таким образом:
1. Низкоуровневые слова
2. Платформо-зависимые и хост-зависимые (от внешней ОС) форт-слова
3. Высокоуровневые слова
Но похоже надо доделать старое (хотя-бы нормальную компиляцию со словарями).
Сообщение Добавлено: Ср янв 31, 2018 14:28
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
Victor__v писал(а):
SOURCE-ID вообще костыль.
Код:
за счёт поиска нужных слов в контексте

Поподробней, а то не понятно

Ну вспомним тот же Си++. Есть библиотека <iostream>, есть <fstream>.
Пусть у нас будут те же словари iostream и fstream, а там слова типа << >> и другое (для вариаций ввода-вывода).
Если нам надо работать с TIBом, то выделяем вперёд iostream. Если же с конкретным (текущим) файлом, то делаем так, чтобы fstream оказалсь впереди контекста.
И да, если "плюнуть" на TIB, то можно как в UNIX сделать пару консолей)
Сообщение Добавлено: Ср янв 31, 2018 14:23
  Заголовок сообщения:  Re: Моя система(_KROL)  Ответить с цитатой
SOURCE-ID вообще костыль.

Код:
за счёт поиска нужных слов в контексте

Поподробней, а то не понятно
Сообщение Добавлено: Ср янв 31, 2018 13:52

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


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