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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 68 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 06, 2009 20:21 
Не в сети
Administrator
Administrator
Аватара пользователя

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 06, 2009 20:42 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 05, 2006 06:19
Сообщения: 192
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
если следовать стандарту тогда смысл обсуждать реализации в нем не описанные,
при том что заранее известно что они противоречат стандарту ?
ну я что могу сказать в этом направлении, нужон переходник такой чтоб если чо его
подключать для совместимости.

_________________
SPF


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 06, 2009 21:04 
Не в сети
Administrator
Administrator
Аватара пользователя

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 15:28 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
ТОЛЬКО что наткнулся на эту проблему: в связи с решением задачи преобразования строки в постфикс - там несколько разногласий со стандартом (или с привычным мне ... )
для начала - строка должна поступать на вход как ( адрес длина ) , тогда как в разборе синтаксиса намного удобнее (адресс с окончанием на 0 - или другой символ! ) - это понятно - синт. анализатор читает строку неравными порциями, может быть с забеганием и возвращением... всё время сравнивать длину ? :shock: :dmad; кроме того, длина при таком представлении должна суммироваться с "основанием" строки, для чего эта операция, если можно держать в памяти прямой адрес символа?
есть раница между pointer C@ и pointer str + C@
итак - с 0 лучше.
Но вот незадача - помимо того, что различным образом работает S" ещё и 0 может попасть в строку сам а может не попасть и как разобраться?

:)) :))
Есть несколько вариантов
1. работа с "чистым" СПФ, но в конце строки сам собою оказывается 0 - как проверить, если строка "ложится" в память, заполненную нулями, т.е. 0 там в любом случае в конце есть, потому возникает вариант 1а и 1б
1а. размер строки при этом учитывает образовавшийся в конце 0
1б. размер строки при этом НЕ учитывает образовавшийся в конце 0
а его нужно учесть вручную ...
всё это удваивается вследствие, что работа в вин-консоли может отличаться в каждом из пунктов или не отличаться :weep;
И Т.П. не буду продолжать
Получается, что хвалёная совместимость форт-программ оборачивается необходимостью изучать исходники! Или по меньшей мере документацию к каждой из систем.
Я ничего не хочу сказать плохого о создателях вин-консоли - она очень удобна 8)

Потому, формат хранения строк должен быть таким, чтобы любое слово могло работать со строкой как строкой любого вида.
Т.е. слово CMOVE "находит" в представлении "свою" строку, синт. анализатор - свою.
МОжно пойти дальше и если в строке вдруг присутствуют символы форматирования, это тоже должно быть заметно из представления строки.

т.е. представление строки должно включать элементы
  1. признак наличия в конце строки 0 или другого символа, если 0 вдруг понадобился внутри строки, также - представление длины строки - включительно с ограничивающими символами или без
  2. количество байт (бит?) в числе - длине строки - сколько байт вмещают u и само u
  3. признак наличия в строке особого форматирования, причём таковой признак или 0 - нет форматирования или (если не 0) - ссылка на словарь для работы с таким форматом, загруженный предварительно, сам словарь в обязательном порядке содержит слово вида " тип_формата_строки.info " , где присутствует информация о формате .
    Имеется ввиду, что для некоторых систем опр. символы могут быть служебными, непечатаемыми, для других - рабочими, что имеет значение при переходе с системы на систему.
  4. сама строка с ограничивающими символами (лучше) или без

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 15:43 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4839
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 52 раз.
вопрос писал(а):
выделенноеЗарегистрирован: 09.05.2006Сообщения: 1398Добавлено: Ср Янв 07, 2009 13:28    Заголовок сообщения:
Цитата:
[EDIT] [DEL] [IP]ТОЛЬКО что наткнулся на эту проблему: в связи с решением задачи преобразования строки в постфикс - там несколько разногласий со стандартом (или с привычным мне ... )

для начала - строка должна поступать на вход как ( адрес длина ) , тогда как в разборе синтаксиса намного удобнее (адресс с окончанием на 0 - или другой символ! ) - это понятно - синт. анализатор читает строку неравными порциями, может быть с забеганием и возвращением... всё время сравнивать длину ? кроме того, длина при таком представлении должна суммироваться с "основанием" строки, для чего эта операция, если можно держать в памяти прямой адрес символа?

есть раница между pointer C@ и pointer str + C@ итак - с 0 лучше.
Но вот незадача - помимо того, что различным образом работает S" ещё и 0 может попасть в строку сам а может не попасть и как разобраться?

совершенно не понял о чем речь. Советую разобраться с тем, как устроен парсер в СПФ. 0 там нафиг не сдался. 0 нужен в реальности только для того, чтобы вызывать АПИ внешние функции.

вопрос писал(а):
Есть несколько вариантов
1. работа с "чистым" СПФ, но в конце строки сам собою оказывается 0 - как проверить, если строка "ложится" в память, заполненную нулями, т.е. 0 там в любом случае в конце есть, потому возникает вариант 1а и 1б
1а. размер строки при этом учитывает образовавшийся в конце 0
1б. размер строки при этом НЕ учитывает образовавшийся в конце 0
а его нужно учесть вручную ...

0 в конце строки не всегда оказывается - (не знаю, как в 4.19 в 4.17 точно так было)
0 в строке со счетчиком не учитывается. То есть строка хоть и завершается нулем, но ноль не считается. Некоторые слова автоматом добавляют 0 в конец, например SLITERAL, Парсер портит область разбора (в некоторых случаях) добавляя в конец лексемы нуль (тут тоже нужно рыться в исходниках)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 15:48 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
0 в конце строки не всегда оказывается - (не знаю, как в 4.19 в 4.17 точно так было)
0 в строке со счетчиком не учитывается.
о чём и я :
разница между версиями, реализациями, представлениями, мне 0 нужен и я должен знать, оказался ли он там автоматически или получился оттого, что строка легла в незамусоренную память

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 15:50 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
Советую разобраться с тем, как устроен парсер в СПФ

ну я и говорю - мне строка нужна, а придётся разбираться в устройстве парсера, а если мне перенести это нужно на другую систему ... ещё парсер разбирать?

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 15:54 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4839
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 52 раз.
вопрос писал(а):
о чём и я :
разница между версиями, реализациями, представлениями, мне 0 нужен и я должен знать, оказался ли он там автоматически или получился оттого, что строка легла в незамусоренную память

посмотреть, каким ты пользуешься словом (то есть в исходник его) иначе никак быть уверенным не получится.

вопрос писал(а):
Цитата:Советую разобраться с тем, как устроен парсер в СПФ
ну я и говорю - мне строка нужна, а придётся разбираться в устройстве парсера, а если мне перенести это нужно на другую систему ... ещё парсер разбирать?

ага 8) тем более, что в СПФ парсер сильно отличается от всех других форт-систем. То есть тебе придется туда тащить и парсер.
Либо пользуйся только словами WORD и PARSE которые портабельны.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 16:05 
Не в сети

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

потому и предлагаю решение проблемы в тему о стандарте

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 19:22 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4839
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 52 раз.
о строках я писал обзорные статьи и там разбирались методы хранения строк.
поднятая вами тема относится не к стандарту, а скорее к СПФ или просто в раздел программирование, потому что вы пользуетесь не стандартными строками.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 19:37 
Не в сети

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


слово CMOVE будет компилироваться так, что будет "видеть" только счётчик и начало строки и т.п.

мне кажется, это немного и даже больше в стандарте учитывать нечего . ИМХО

Цитата:
пользуетесь не стандартными строками
это не я, это просто мне встретилось, я не задумывался о соответствии стандарту

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 19:39 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
о строках я писал обзорные статьи и там разбирались методы хранения строк.
да, я читал, полезные стати

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 19:49 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4839
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 52 раз.
вопрос писал(а):
Я предлагаю, как сделать стандарт, чтобы раз и навсегда избавиться от встреченных мною противоречий.

на всегда не получится :) жизнь динамична.

Строки не так уж и просты, особенно, если они UNICODE, впрочем как и символы.
Если хочется посмотреть размышления (мои) на счет строк и символов - посмотри в форк(хотя я не претендую, что нашел идеальное решение).
фиксировать в стандарте многие вещи глупо, потому что эта фиксация приводит к глупым ограничениям, которые на момент создания неизвестны или не понятны.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 19:59 
Не в сети

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

собственно, моя идея проста, и кажется мне не ограничением :
дополнительное поле в формате, которое
- если строка стандартна - пустует
- если есть какие-то необычности - заполнено идентификатором словаря, кот. эти необычности содержит

остальное уже предлагалось не мною
1 CELL - это ничего по сравнению с работой, которую проделывает каждый фортер, изучая особенности систем

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 07, 2009 20:15 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
И тогда решли, а почему бы не попытаться
скомбинировать несколько типов строк, то есть иметь дело не с asciiz
строками и не с паскалевскими, а с их гибридом:

[#][string body][0]

это цитата из статьи в форке
я предлагаю ещё иначе
[общая информация (длина счётчика и т.п.)][0 или словарь] [#][string body][0 или др. символ]
в последней скобке "0 или др. символ", т.к. цитата оттуда же
Цитата:
У asciiz строк преимуществом является
неограниченность длинны строки, а к недостаткам можно отнести очень
медленную работу с такими строками и невозможность содержать 0 внутри
такой строки.

_________________
понимаю некоторую бестолковость некоторых вопросов


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

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


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

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


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

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