Forth http://fforum.winglion.ru/ |
|
Разработка "сверху вниз" http://fforum.winglion.ru/viewtopic.php?f=4&t=2804 |
Страница 12 из 12 |
Автор: | Hishnik [ Пн фев 20, 2012 21:56 ] |
Заголовок сообщения: | Re: Разработка "сверху вниз" |
Mihail писал(а): Т.е. если я на вход spf4 подам devel/~mak/infix.f , то это будет не Форт? Тогда что это будет? Язык, написанный на Форте. |
Автор: | `Kopa [ Пн фев 20, 2012 23:18 ] |
Заголовок сообщения: | Re: Разработка "сверху вниз" |
WingLion писал(а): `Kopa писал(а): в русском языке их 36? ОЙ... A когда три новых буквы добавили? И КАКИЕ??? ... не-е-е ... не поверю, что именно те три... Хорошо. Пусть будет Латиница+цифры:) WingLion писал(а): `Kopa писал(а): От кодов перешли к мнемоникам, а мы от слов к одиночным символам Пока еще не перешли, однако... это была лишь нереализованная мысля... Что то подобное делалось для Метеор-Forth и цели наверное близкие. http://fforum.winglion.ru/viewtopic.php?f=39&t=1681&start=0 Код: ...
Для уменьшения размера команд, передаваемых по сети, использует набор символов Radix-50 [22] вместо стандартного набора ASCII. Код Radix-50 (RAD-50) позволяет поместить 3 символа в 16-разрядном слове, при этом экономится 33% объёма данных и в стандартный пакет сети помещается до 40 символов (для сессии управления). Radix-50 позволяет использовать только 40 символов: буквы “A”–“Z”, цифры “0”–“9”, знак минуса “–“, запятая “,”, знак доллара “$” и пробел. Этот набор символов вполне достаточен для программирования узла сети. Длина имени в Метеор-Форт ограничена 12 символами. Часть имён Форт изменена с учётом набора символов Radix-50. Использование в случае Метеор-Форт набора символов Radix-50 является видимо единственным способом сократить количество данных, передаваемых по сети, так как стандартные методы архивирования потока (кодирование Хаффмена, LZ77, LZW [23]) не работает на коротких строках. ... |
Автор: | `Kopa [ Вт фев 21, 2012 00:49 ] |
Заголовок сообщения: | Re: Разработка "сверху вниз" |
При упаковке по схеме Radix-50 ABC (A*40+B)*40+C максимальное число 63999 (1111100111111111) и числа больше этого можно использовать, например для переключения кодировки по дополнительному служебному символу, например по старшим битам 111110 или 111111 (пусть будет префиксом * и понимается ещё как пробел) тогда оставшиеся десять бит можно использовать для кодирования слова из двух символов (по 5-ть бит каждый) и ввести например такие команды, как R> >R R* +! и.т.д. более естественным способом:) |
Автор: | gudleifr [ Вт мар 06, 2012 12:58 ] |
Заголовок сообщения: | Re: Разработка "сверху вниз" |
Я когда-нибудь заткнусь? Или надежда здесь хоть чем-нибудь разжиться никогда не умрет? В пику OpenForth объявляю "проект" CleasureForth: Как я писал в другой теме, внутри ядра Forth обитают несколько слов, которые гораздо интереснее, чем все эти стековые и компилирующие примитивы. Ниже я перечисляю некоторые из первых (и, огульно, разделы программирования, которые они затрагивают): ACCEPT (взаимодействие с ОС) FIND (операции над множествами) WORD , NUMBER (лексический анализ) Очевидно, что в Forth на голом железе добавляются еще другие элементы ОС. Список, очевидно, можно и нужно продолжить. Вопрос, насколько оправдано вынести решения, примененные в ядре на уровень Forth-системы? Т.е. сделать доступ к ним частью стандарта. Родить что-то вроде PatternForth, но не в виде надстройки, а используя "внутренние резервы"? Например, в Win32-FOBOS я вытащил "наружу" конечный автомат для NUMBER . Но это практически ничего не стоило, т.к. этот автомат почти ничего не "весил". А вот рассуждения о наиболее общей форме WORD (в статье о способностях Forth) так в тупик и зашли... Конечно, стандартный Форумный ответ звучит как: "Это дело вкуса (ну или великой идеи о самоокупаемости проекта)"? Но, даже, если нет точки оптимума, то должна быть какая-то "разумная" поверхность в пространстве решений. |
Автор: | Hishnik [ Вт мар 06, 2012 14:13 ] |
Заголовок сообщения: | Re: Разработка "сверху вниз" |
gudleifr писал(а): В пику OpenForth объявляю "проект" CleasureForth: Судя по описанию, это совсем не в пику, а как раз в развитие Фортеры должны разбираться в деталях реализации и сознательно, под задачу, выбирать тот или иной вариант. Чем больше будет рассмотрено вариантов, тем шире выбор. |
Автор: | WingLion [ Вт мар 06, 2012 20:01 ] |
Заголовок сообщения: | Re: Разработка "сверху вниз" |
gudleifr писал(а): Конечно, стандартный Форумный ответ звучит как: "Это дело вкуса (ну или великой идеи о самоокупаемости проекта)"? Но, даже, если нет точки оптимума, то должна быть какая-то "разумная" поверхность в пространстве решений. А можно с Непоймукакойского языка перевести на Русский? |
Автор: | gudleifr [ Вт мар 06, 2012 20:25 ] |
Заголовок сообщения: | Re: Разработка "сверху вниз" |
WingLion писал(а): А можно с Непоймукакойского языка перевести на Русский? В любой сфере деятельности полученные результаты образуют точки в некотором пространстве. Например, в координатах "время разработки - степень довольства клиента - стоимость". Понятно, что в большинстве случаев на всех не угодишь, поэтому результат оценивают по близости к какой-то, более или менее, удовлетворяющей всех поверхности (в терминах геометрии этого пространства): "быстро, но плохо", "долго, но дешево" и т.д. Т.к. уже существующие решения определяют какую-то область, тоже ограниченную некой поверхностью - "лучших достижений", то новое решение должно в худшем случае лежать "не ниже" ее.Так понятнее? Пример из другой области: http://www.gudleifr.h1.ru/40.jpg. |
Страница 12 из 12 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |