Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 22:49

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Вс май 13, 2018 18:56 
Не в сети
Moderator
Moderator
Аватара пользователя

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

А тут, кстати, все двузначно 8) строка со счетчиком: ( --> asc # ) и причем тут Паскаль

Hishnik писал(а):
Чего стоят только скобки в виде комментариев

похоже, мне вас не понять. Ну никогда не напрягали скобки в качестве комментариев,
более того, всегда считал и считаю в тех же Сях содержимое скобок комментарием 8)
пускай и анализируемых транслятором.

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

Это похоже на больное место 8( ну сколько можно поднимать эту тему? ну, ведь, в печенках уже...

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Вс май 13, 2018 19:00 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
[quote=mOleg]
бред.
Что от этого поменяется? Будут те же <# #S #> а!? Просто менее привычные в использовании...
Это не альтернатива, а паллиатив.[/quote]
Преобразование не так уж и часто используется. Впрочем, аналога слова #S у меня нет.
после использования слова num>s{ на стеке уже лежит строка, над которой можно поколдовать при желании и послать куда-надо и в конце закрыть буфер. Больше и не требуется обычно.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Вс май 13, 2018 19:22 
Не в сети
Moderator
Moderator
Аватара пользователя

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

ну, вот, напишите свой вариант данного кода:
Код:
: fname ( --> asc # )
        Time{ Local year month day hour minute second }
        0x0A {# s" .dat" HOLDS
                S>D # # DDROP  S>D # # DDROP  S>D # # DDROP
                S>D # # DDROP
                S>D # # DDROP
                S>D # #
                s" .\\dat\\" HOLDS
                #> ;

то есть, из системного времени получить уникальное имя для создания файла,
содержащего в названии текущие год, месяц, день, час, минуту, секунду
т.е.: 20180512220347.dat

да, таки используется не сколько нестандартный синтаксис, выражение: 0x0A {#
задает преобразование в десятичной системе счисления. т.е. используется вместо BASE @ DECIMAL <# ..... BASE !

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Вс май 13, 2018 20:58 
Не в сети
Administrator
Administrator
Аватара пользователя

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

При том, что в годы Турбо Паскаля такое представление строк часто использовалось. И в Форт попало. Хотя идеи Форта и форматы данных - независимые в целом вещи. И дело тут не в том, что Форт каким-то образом лучше работает с ASCIIZ, а в том, что реализация должна соответствовать платформе, на которой запускается.

mOleg писал(а):
похоже, мне вас не понять. Ну никогда не напрягали скобки в качестве комментариев,

А дело не в скобках как таковых. Дело в подходе, к сожалению, принятому в Форте уже с давних времен. Что-то отличается от мейнстрима? Отлично! Не будем объяснять, что это имеет объективные причины, а займем позицию "Форт - это круто, вам не понять". Глупо и по-детски. Пример с пятью символами показателен - всем известно, что название Forth появилось, потому что на соответствующем компьютере нельзя было написать Fourth из-за ограничений на длину идентификатора. Муру в рецензии на какую-то статью указали на этот недостаток. И что он сделал? Написал, что да, так и есть, и это определяется объективными ограничениями, но на другой машине можно устранить этот недостаток? Да ничего подобного - направил редактору ответ из слов, ограниченных пять символами! Дескать, все равно же все понятно. Как по мне, это просто мелкое хамство и непрофессионализм.

Что произошло со скобками? Да первый же вопрос к Форту - почему там постфикс? Из-за явно заданного порядка вычислений? Так ведь есть скобки. Корректное объяснение этой ситуации основано на рассказе о том, что там делается с постфиксом, и почему все именно так. А что сделано в Форте? Вот вам скобка как комментарий - наткнитесь на нее везде в текстах и подумайте, почему скобки не нужны для задания приоритетов. Ну ладно, я понял, убирайте уже это.

mOleg писал(а):
Это похоже на больное место 8( ну сколько можно поднимать эту тему? ну, ведь, в печенках уже...

Столько, сколько нужно.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Вс май 13, 2018 21:09 
Не в сети
Moderator
Moderator
Аватара пользователя

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

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

да ладно, а просто внимательно прочитать что я написал? Или Паскаль стал уметь возвращать два параметра из функции?
Я о том, что строка со счетчиком не обязательно паскалевская строка

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Вс май 13, 2018 21:18 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
mOleg писал(а):
да ладно, а просто внимательно прочитать что я написал? Или Паскаль стал уметь возвращать два параметра из функции?
Я о том, что строка со счетчиком не обязательно паскалевская строка

Я уже несколько раз писал, что строка со счетчиком часто встречалась во времена Турбо Паскаля. Два параметра для строки опять-таки наводят на мысль о "фортовской элитарности". Ну и что, что функции не возвращают больше одного параметра? В Паскале процедуры возвращали много параметров, функции могут вернуть указатель на структуру. Это как раз не тот пример, на котором надо показывать преимущества, тем более что c-addr len это никакое не преимущество. Если передать адрес счетчика и спрятать COUNT внутрь слов, которым нужна длина строки, то все строки начинают определяться единственным параметром.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Вс май 13, 2018 21:30 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Печаль, нельзя всунуть файлик.
Прим. к коду. Можно было и циклы использовать, но мне лень уже. Делал на скорую руку. С циклами было бы попроще воспринять.
Код:

WINAPI: GetSystemTime KERNEL32

: gmdhms
8 2* ( память для структуры ) RALLOT RF^ >R R@ GetSystemTime
DROP \
R@       W@
R@ 2+    W@
R@ 6 +   W@
R@ 8 +   W@
R@ 10 +   W@
R@ 12 +   W@
RDROP
;


: to-str \ addr g m d h m s  --

usign num>s{ 2>R
   usign num>s{ 2>R
      usign num>s{ 2>R 
      usign num>s{ 2>R
   usign num>s{  2>R
usign num>s{  2>R

DUP \ addr addr

1 RPICK OVER R@ MOVE
R> + RDROP
}num

1 RPICK OVER R@ MOVE
R> + RDROP
}num

1 RPICK OVER R@ MOVE
R> + RDROP
}num

1 RPICK OVER R@ MOVE
R> + RDROP
}num

1 RPICK OVER R@ MOVE
R> + RDROP
}num

1 RPICK OVER R@ MOVE
R> + RDROP
}num

S" .dat" >R OVER  R@ MOVE
R> +
0! \ по условию задачи заканчивать на 0 должны 
;

: TEST
1000 ALLOCATE THROW
0x0A BASE KEEP!
gmdhms
to-str
;


_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Пн май 14, 2018 03:46 
Не в сети
Moderator
Moderator
Аватара пользователя

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

ну, и что выглядит проще?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Пн май 14, 2018 11:55 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Hishnik писал(а):
А дело не в скобках как таковых. Дело в подходе, к сожалению, принятому в Форте уже с давних времен. Что-то отличается от мейнстрима? Отлично! Не будем объяснять, что это имеет объективные причины, а займем позицию "Форт - это круто, вам не понять". Глупо и по-детски. Пример с пятью символами показателен - всем известно, что название Forth появилось, потому что на соответствующем компьютере нельзя было написать Fourth из-за ограничений на длину идентификатора. Муру в рецензии на какую-то статью указали на этот недостаток. И что он сделал? Написал, что да, так и есть, и это определяется объективными ограничениями, но на другой машине можно устранить этот недостаток? Да ничего подобного - направил редактору ответ из слов, ограниченных пять символами! Дескать, все равно же все понятно. Как по мне, это просто мелкое хамство и непрофессионализм.
Однообразная жизнь не интересна ;)

Hishnik писал(а):
Что произошло со скобками? Да первый же вопрос к Форту - почему там постфикс? Из-за явно заданного порядка вычислений? Так ведь есть скобки. Корректное объяснение этой ситуации основано на рассказе о том, что там делается с постфиксом, и почему все именно так. А что сделано в Форте? Вот вам скобка как комментарий - наткнитесь на нее везде в текстах и подумайте, почему скобки не нужны для задания приоритетов. Ну ладно, я понял, убирайте уже это.
А зачем в Форт-парсере приоритеты? Кто сказал, что нельзя добавить ещё один парсер и переключится на него, допустим, через вектор?
Ты бы ещё Lispерам указал, что их язык не инфиксный, а постфиксный :D

Hishnik писал(а):
Если передать адрес счетчика и спрятать COUNT внутрь слов, которым нужна длина строки, то все строки начинают определяться единственным параметром.
Так давай ООП в студию!

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

P.s. Часто люди фанатично начинают что-то расхваливать нравящееся им, плюя на остальное. После, происходит обратное. Психология, увы. Причём детские/инстинктивные предрассудки.
P.p.s. Я опять напоминаю, что зря ты убрал Глеба! Равновесие в головах стало больше нарушаться.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Пн май 14, 2018 12:12 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Нет, речь не об этом. В Форте из-за постфиксной записи не нужны скобки. Почему бы их не использовать для чего-нибудь полезного, вроде выделения фрагментов кода или структур? Однако стандартным флеймом с участие фортеров все время было доказательство всем, что "на стеке тоже можно считать", сопровождавшееся попытками написать для Форта инфикс. Историю введения скобок как комментариев я не знаю, но исходя из логики событий у меня сильное подозрение, что это было сделано в пику критикам. Чтобы видели в тексте скобки, понимали, что это комментарии, и тут же вспоминали, что скобки в Форте не нужны. Это детский ответ на детскую же нападку.
_KROL писал(а):
Так давай ООП в студию!

При чем здесь ООП?

_KROL писал(а):
Я опять напоминаю, что зря ты убрал Глеба!

Серия логических ошибок.
1. "Зря убрал" - с чего бы?
2. "Напоминаю" - напоминать можно о фактах или доказанных и согласованных утверждениях. Создается ложное впечатление, что я "забыл, что зря убрал".
3. "Опять" - это сколько раз уже было, чтобы писать "опять"?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Пн май 14, 2018 12:19 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Hishnik писал(а):
_KROL писал(а):
А зачем в Форт-парсере приоритеты? Кто сказал, что нельзя добавить ещё один парсер и переключится на него, допустим, через вектор?

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

Hishnik писал(а):
_KROL писал(а):
Так давай ООП в студию!

При чем здесь ООП?
А какой есть другой вариант сокрытия размера строк, как не структуры и классы? Если конечно не брать строки с нулевым оканчанием и паскаль-строки.

---

Ох, я случайно забыл о заданных вопросах.

mOleg писал(а):
_KROL писал(а):
> Локальные переменные для ввода-вывода

можно пояснить о чем речь?
Я рассматриваю не только свой однозадачный OLD4tH, но в общем.
mOleg писал(а):
_KROL писал(а):
> Преобразование данных

тоже не ясно
Да, в ядре может и не надо :)
mOleg писал(а):
_KROL писал(а):
> Работа с хэндлами (или может это обьеденить с "работой с памятью"?)

тоже не ясно
Это я рассуждаю об динамическом выделении памяти и файлами.
mOleg писал(а):
_KROL писал(а):
> Связь ШК и нативного кода (НК), если такой имеется

а это что значит?
Зависит от того, можно ли примешивать НК к ШК, в итоге образуется подпрограммный ШК, хотя может быть и поддержка вкраплений другого ШК… (да, здесь всё действительно туманно)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Пн май 14, 2018 12:33 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Дело не в конкретном частном решении, а в общем подходе - раз кому-то кажется странным, как сделано в Форте, не объяснять, почему так сделано, а демонстративно усиливать. Это и скобки, и мысль, что "Форту плавающая точка не нужна", и вообще реакция на дискуссии как таковая. Некоторые отличия от привычных подходов к программированию следуют из основ Форта, и это не каприз разработчиков, а наиболее естественное решение. Но возведение этих отличий в культ и добавление новых без должных на то оснований - это лишнее и только вредит.

_KROL писал(а):
А какой есть другой вариант сокрытия размера строк, как не структуры и классы? Если конечно не брать строки с нулевым оканчанием и паскаль-строки.

Именно строки с нулевым окончанием довольно широко распространены. Я уже писал, что строка с байтом-счетчиком в начале была в Турбо-Паскале в 90-е годы. Сейчас WinAPI предлагает работу либо с ASCIIZ, либо с Unicode. Спор о форматах данных не имеет перспективы, они определяются платформой. 40-битные целые числа неудобны, они не поддерживаются напрямую. Точно так же неудобны 134-битные числа с плавающей точкой - для них нет аппаратной поддержки. Ну а Windows работает с ASCIIZ-строками. Синтаксис языка тут совершенно ни при чем, а настаивать на c-addr u выглядит опять же капризом из серии "вы там не забудьте, мы - фортеры!".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Пн май 14, 2018 12:57 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Hishnik писал(а):
Но возведение этих отличий в культ и добавление новых без должных на то оснований - это лишнее и только вредит.
Более того, это глупо, ведь даже нормальный стандарт под Форт ещё не изобретён (если это вообще возможно =]).
Hishnik писал(а):
Именно строки с нулевым окончанием довольно широко распространены... Синтаксис языка тут совершенно ни при чем, а настаивать на c-addr u выглядит опять же капризом из серии "вы там не забудьте, мы - фортеры!".
А кто настаивает? Просто в Форте это зачастую удобнее.
Кстати, в Паскале счётчик занимал только байт, а в Форте занимает целую ячейку.
P.s. А можно, опять таки, посмотреть с другой стороны: почему вы все используете строку с нулевым оканчанием, а? :D
Везде в чём-то проигрываем, в чём-то выигрываем, поэтому и существуют различные типы оптимизации.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Пн май 14, 2018 17:47 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Цитата:
P.p.s. Я опять напоминаю, что зря ты убрал Глеба! Равновесие в головах стало больше нарушаться.


И чтобы изменилось? Появился бы участник вопиющий "Вы тупые".
Тут пришёл бы mOleg и сами-знаете-кто поудалял бы свои сообщения.
И смысл?

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как сделать форт-систему без ошибок?
СообщениеДобавлено: Пн май 14, 2018 19:20 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Victor__v писал(а):
Цитата:
P.p.s. Я опять напоминаю, что зря ты убрал Глеба! Равновесие в головах стало больше нарушаться.


И чтобы изменилось? Появился бы участник вопиющий "Вы тупые".
Тут пришёл бы mOleg и сами-знаете-кто поудалял бы свои сообщения.
И смысл?
Зато Хищник бы ни стал говорить, глядя на его болтовню, об само-разумеещихся вещах. Разве он писал по тому вопросу, который ты задал? Только косвенно, да и то... Тем более, что Глеб иногда нормальные мысли предлагал (правда я уже не помню где). Лишний голос потеряли. Бесконечная война за Форт? :)
Мне, например, устраивают известные решения. У Олега очень многое интересно, если покопаться. Другое дело, не всегда устраивает их компоновка, как в исходниках, так и в документации (а она вообще будет у SPF?).


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

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


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

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


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

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