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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 22, 2009 20:16 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
Цитата:уф, ну какие проблемы с реализацией строк-то?я об этом уже писал,
и в темах по стандарту и в других ...

и тем не менее конкретно совсем не понятны ваши затруднения

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


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

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

Напомню:

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

Поэтому вместо CMOVE пишется собственное слово для копирования строки, выделения доп. памяти под пробелы или 0 и проверки, всё ли правильно легло и какова длина строки

теперь понятно?

мне таки пришлось читать исходники

ни разу не припомню, чтобы кто-то читал исходники С++ чтобы понять, как работает произведенный код, ассемблерную отладку сгенерированного экзешника встречал, а такое - нет

а форк посчитал, что я "интерпретирую текст в процессе компиляции" - относится ли это к реализации строк - не знаю, но СПФ такого не увидел.

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
- чтобы удобно работать со строкой при синтаксическом анализе может быть удобно, чтобы ни начало строки ни длина не всплывали перед программистом, а только указатель на текущий символ и 0х00 в конце строки, чтобы просто двигаться по 1 символу и в конце "наткнуться" на 0. Или просто должен быть 0 в конце.

мне это абсолютно не понятно, можете привести пример?

вопрос писал(а):
- некоторые добавляя, суммируют нулевой байт в длину строки. некоторые нет.

в Форте я с такими не встречался.

вопрос писал(а):
- некоторые компиляторы 0 в конец строки добавляют, некоторые нет.

что обходится тривиально с помощью >ASCIIZ

вопрос писал(а):
- существует опасность "съедния" пробелов перед 0 в конце строки

сомнительно, но даже если это так, что из того? все что меньше BL (включая его) считается пробельным символом.

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

тоже не понятно зачем.

вопрос писал(а):
Поэтому вместо CMOVE пишется собственное слово для копирования строки, выделения доп. памяти под пробелы или 0 и проверки, всё ли правильно легло и какова длина строки теперь понятно?

а почему не пользоваться стандартным парсером?
зачем создавать себе проблемы?

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


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

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

Цитата:
а почему не пользоваться стандартным парсером?
зачем создавать себе проблемы?

из соображений надёжности, опасаясь, что стандартные парсеры могут нестандартно себя вести

Цитата:
мне это абсолютно не понятно, можете привести пример?
тут никакого примера не нужно, что легче делать - прибавлять по единице к абсолбтному адресу следующего символа или производить операцию прибавления символа к указателю, а потом указателя к адресу начала?
А если таких указателей 3?

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
Цитата:мне это абсолютно не понятно, можете привести пример?
тут никакого примера не нужно, что легче делать - прибавлять по единице к абсолбтному адресу следующего символа или производить операцию прибавления символа к указателю, а потом указателя к адресу начала?
А если таких указателей 3?

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

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


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

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

пример - хотел привести из моего кода, но ... он великоват

ну пусть это будет последовательное сравнение слов из разных строк с каким-нибудь дополнительным условием (как в задаче)

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


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

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

да, и абсолютно не понятно, зачем он нужен, потому что добавить 0 в конец и переслать строку делается в одну строчку.

вопрос писал(а):
ну пусть это будет последовательное сравнение слов из разных строк с каким-нибудь дополнительным условием (как в задаче)

вы пишете diff ? зачем вам сравнение двух строк?
Вот, просто, решение можно найти более элегантное, если хотите, давайте разбираться!
То есть вы большой умница и молодец, потому что решили задачу! Но выглядит решение, буд-то писалось на Сях, а потом переносилось на Форт.
Поэтому выглядит решение ну совсем не Фортово:)
(а тему мне кажется стоит отделить, так как does> она уже не касается)

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


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

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

Это было не просто решение задачи ( я там пояснял) - это была заготовка для универсального транслятора строк из пре-ин-постфикса в чистый постфикс, мне кажется, это даёт много возможностей для форта.
Для меня важно, чтобы каждый элемент назывался так, как я вижу его роль , ведь алгоритм будет усложняться и меняться.

Цитата:
Поэтому выглядит решение ну совсем не Фортово
(а тему мне кажется стоит отделить, так как does> она уже не касается)
можно вернуться в тему о стандартизации вида программ.

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
Для меня важно, чтобы каждый элемент назывался так, как я вижу его роль , ведь алгоритм будет усложняться и меняться.
Цитата:Поэтому выглядит решение ну совсем не Фортово
(а тему мне кажется стоит отделить, так как does> она уже не касается) можно вернуться в тему о стандартизации вида программ.

то есть разбираться, как можно решить задачу проще и элегантрее вам не хочется?

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


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

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


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

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


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

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