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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Рекомендательный стандарт Форта
СообщениеДобавлено: Вс май 22, 2011 20:54 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
"Не стоит прогибаться под изменчивый мир, пусть лучше мир прогнется под нас". Однако зачем тратить энергию на прогибание мира, если эту энергию можно потратить с большей пользой? :) Стоит посмотреть, как оно вокруг, и понять, что можно сделать с объективно сложившейся ситуацией. А в области стандартов Форта она такова, что любой стандарт мгновенно становится объектом для атаки. В стандарте написано 8, 16 и 32 бита? Непорядок! А где 64? А где 4? А где произвольная разрядность, наконец? Написано 8 ячеек стека? Даешь 8192! В целом, попытки выдать стандарт на грамматику языка ("как у других") вдребезги разбивается о тот факт, что Форт изначально ориентирован на конструирование необходимой грамматики. Отсюда и конфликты.

Теперь давайте посмотрим на общеупотребительные стандарты в области программирования и разработок. Например, ГОСТ на описание программ вовсе не утверждает, что, к примеру, в разделе 2.1 должна существовать таблица из трех колонок с описанием режимов контекстного меню. Напротив, ГОСТ в этом плане весьма и весьма толерантен и очерчивает только общие контуры описания программ. Попытаемся применить такой подход и к стандарту на Форт - пусть он не перечисляет слова, пытаясь угодить и нашим и вашим, а перечисляет, что надо описать.
Итак:

Рекомендуемые разделы, содержащиеся в описании транслятора языка Форт 1 В разделе общих сведений:
1.1 Назначение транслятора, область применения, типичные примеры решаемых задач.
2. В разделе системных требований:
2.1 Требования к процессору. Если транслятор может быть запущен на различных процессорах, необходимо указать отличия в функциональных возможностях и порядке работы транслятора.
2.2 Требования к операционной системе. Если транслятор может быть запущен под управлением различных операционных систем, необходимо указать отличия в функциональных возможностях и порядке работы транслятора.
2.3 Требования к объему памяти. Если транслятор может быть запущен в различных режимах, указать объемы памяти, требуемые для каждого из них.
3 В разделе организации стековой машины
3.1 Виды стеков и способы их реализации. Для каждого стека указывается:
- типы данных, помещаемых на стек;
- способы контроля типов данных, размещенных на стеке;
- поведение транслятора при попытке размещения на стеке данных неподдерживаемого типа;
- минимально гарантируемый размер стека;
- поведение транслятора при выходе за границы стека;
- возможность изменения размеров стека;
- способы определения размера стека, его глубины и содержимого;
- иная значимая информация.
3.2 Синтаксис и семантика основных стековых операций
4 В разделе работы с памятью
4.1 Порядок выделения и освобождения памяти транслятором.
4.2 Объем памяти, доступный транслятору после старта, способы его изменения.
4.3 Синтаксис и семантика основных операций с памятью.
5 В разделе работы с программным и аппаратным окружением
5.1 Виды оборудования и программных интерфейсов, поддерживаемых транслятором в базовой конфигурации (непосредственно после старта)
5.2 Порядок работы с оборудованием и программными интерфейсами
5.2 Синтаксис и семантика основных операций с оборудованием и программными интерфейсами


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Вс май 22, 2011 21:09 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
Вот наконец-то методология стандартизации, вместо очередного стандарта. Ура!
В разделе "операций с памятью" (или после него) надо бы развернуть отдельную тему операций со словарём. Синтаксис и семантика определения, ограничения на длину, семантика поиска слов.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Вс май 22, 2011 21:24 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
dynamic-wind писал(а):
В разделе "операций с памятью" (или после него) надо бы развернуть отдельную тему операций со словарём. Синтаксис и семантика определения, ограничения на длину, семантика поиска слов.

Разумеется! Сначала эту темку надо обмусолить в целом, а уже потом можно обсудить конкретное наполнение рекомендаций. Конечно, словарь в Форте - очень важная вещь, я бы сказал даже, "визитная карточка", как и стек. Поэтому как он устроен, как компилируются и ищутся слова, надо описывать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Пн май 23, 2011 07:50 
Не в сети
Administrator
Administrator
Аватара пользователя

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

При старте, например, он сообщает свою версию, разрядность, объем доступной памяти, размеры стеков и т.п. А заодно и способы получения более подробной информации, например: "Введите слово СПАСИТЕ! для получения дополнительной информации".

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Пн май 23, 2011 08:43 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
Тогда программист должен достать транслятор, запустить, переписать на бумажку параметры и приступать к переделке программы. Нафиг такое надо. (Вот не печатать версию при запуске--это моветон).
ENVIRONMENT? в АНСФ тоже недостаточно информативен. Хотя удобно иметь готовые константы для глубины стека и ширины слова.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Пн май 23, 2011 08:54 
Не в сети
Administrator
Administrator
Аватара пользователя

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

А если компилятор не сообщает, потому что он предназначен для систем, которым некуда сообщать (управление мотором, к примеру)? С другой стороны, описание-то обязательно.
dynamic-wind писал(а):
Хотя удобно иметь готовые константы для глубины стека и ширины слова.

Именно что удобно. Кстати, один назовет STACK-MAX-DEPTH, другой STACK_MAXDEPTH, и вот при попытке стандартизации-то они и поругаются. Опять же, есть огромная разница между стандартом вида "константы должны быть вот такие (см. список из 12345 штук, включая какое-нибудь "максимальное число виртуальных потоков хэширования древовидного описания процессорных кластеров") и рекомендацией "завел константу - опиши".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Пн май 23, 2011 17:27 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Хищник писал(а):
А если компилятор не сообщает, потому что он предназначен для систем, которым некуда сообщать (управление мотором, к примеру)? С другой стороны, описание-то обязательно.

Если компилятору некуда сообщать, у него и интерактивного режима нет, чтобы юзер мог что-то запросить. А сообщать надо программисту. Как бы там ни было, компилятор же должен куда-то сообщить то самое OK ? Вот туда пусть и шлет остальную инфу.
Или хотя бы ссылку, что инфа находится в файле "дэ-о-ка-точка-тэ-экс-тэ" рядом с екзешником.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Пн май 23, 2011 17:36 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Если есть кросс-компилятор, то целевая форт-система может и не иметь интерактивного режима.
WingLion писал(а):
Как бы там ни было, компилятор же должен куда-то сообщить то самое OK ?

Если даже может, то он ведь не должен? Просто в документации надо про это все рассказать. А файл тоже не обязан лежать рядом с exe, это уже навязывание вещей, без которых можно обойтись. Пусть все решает автор транслятора, но рассказывает о своих решениях.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Пн май 23, 2011 18:23 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Хищник писал(а):
Если есть кросс-компилятор, то целевая форт-система может и не иметь интерактивного режима.


А сам кросс-компилятор будет молчать в тряпочку как партизан в гестапо? Или он не знает, что и для чего компилит?

Хищник писал(а):
Если даже может, то он ведь не должен? Просто в документации надо про это все рассказать. А файл тоже не обязан лежать рядом с exe, это уже навязывание вещей, без которых можно обойтись. Пусть все решает автор транслятора, но рассказывает о своих решениях.


Ладно, пусть рассказывает как умеет, но только пусть он не навязывает свой рассказ каждому встречному.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Вт май 24, 2011 19:37 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Хищник писал(а):
Именно что удобно. Кстати, один назовет STACK-MAX-DEPTH, другой STACK_MAXDEPTH, и вот при попытке стандартизации-то они и поругаются. Опять же, есть огромная разница между стандартом вида "константы должны быть вот такие (см. список из 12345 штук, включая какое-нибудь "максимальное число виртуальных потоков хэширования древовидного описания процессорных кластеров") и рекомендацией "завел константу - опиши".


По-русски он должен все рассказывать, по-русски, а не через "аббревиатур"-слова, которые каждый по своему назовет.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Вт май 24, 2011 20:44 
Не в сети
Administrator
Administrator
Аватара пользователя

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

А кто-то решит, что по-английски, потому что так принято. А кто-то - что должны быть два варианта, по-русски и по-английски. И так далее. И все это не должно запрещаться стандартом. Однако, если есть MAXINT и МАКСЦЕЛОЕ, то про них должно быть написано в документации.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Вт май 24, 2011 21:17 
Не в сети
Administrator
Administrator
Аватара пользователя

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


Ну, в крайности кидаться, конечно, нельзя... пусть хоть по-китайски... Но по-русски...

В общем, да, описание должно быть. Надо только чтобы Фортран Фортом не назвали из-за того что к нему описание напишут.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Ср май 25, 2011 20:17 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Если в описании будет про организацию стековой машины и словаря, то это явно не Фортран.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Вт май 31, 2011 19:38 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
А, вообще говоря, как мне тут икнулось, Форт должен настраиваться. То есть, не сообщать юзеру, сколько разрядов, сколько стеков, сколько в стеке бит, а получать эти параметры от юзера.

Типа. Запускается Forth.exe, а в командной строке (или в ini файле) прописано - 16 разрядов, 65 килобайт памяти, стеки по 32 слова, система команд такая-то...
И вперед! Без всяких гаданий!

Если данный форт не поддерживает какие-то опции (например, он только 32 разряда, а как 16 не запускается из принципа, и 64 ему еще не прописали), то об этом и надо сообщать юзеру.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Рекомендательный стандарт Форта
СообщениеДобавлено: Вт май 31, 2011 21:38 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
А, вообще говоря, как мне тут икнулось, Форт должен настраиваться. То есть, не сообщать юзеру, сколько разрядов, сколько стеков, сколько в стеке бит, а получать эти параметры от юзера.
Кросс-компилятор, который подобное бы творил, видимо, не сильно сложнее обычного кросс-компилятора. По здравому говоря - требуется алгоритм оценки применимости неких конструктивыных частей будущего форта в ограниченном числе случаев, т.е. число усилий, необходимых для построения такого кросс-компилятора - в худшем случае - чуть более чем квадрат усилий по построению форта, на который кросс-компилятор рассчитан (каждый из конструктивных элементов должен быть проверен на непротиворечивость с остальными) это при статическом наборе правил


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

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


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

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


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

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