Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт ноя 14, 2019 15:09

...
Google Search
Forth-FAQ Spy Grafic

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




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

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

Ошибка: Справка по данному слову отсутсвтует! <- опечатка

и как-то стремно выглядит отсутствие справок для самых "ядерных" слов типа dup drop swap и т.п.

2. Kак поменять цвета в консоли белое на черном -> черное на белом ???

3. из лога сборки: Попытка исполнения привелигированной операции поймана <- (привИлЕгия, а не привЕлИгия)

4. Надо бы сделать, чтобы номер версии менялся не по каждому запуску make.bat, а только при некой заданной опции

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4997
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 20 раз.
Поблагодарили: 58 раз.
WingLion писал(а):
Ошибка: Справка по данному слову отсутсвтует! <- опечатка

спасибо, исправил.

WingLion писал(а):
и как-то стремно выглядит отсутствие справок для самых "ядерных" слов типа dup drop swap и т.п

это конечно плохо, но времени набрать всю доку не хватает. Если кто возьмется помочь...
формат файла справки очень прост - надо только текст набрать :)

WingLion писал(а):
2. Kак поменять цвета в консоли белое на черном -> черное на белом ???

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

WingLion писал(а):
4. Надо бы сделать, чтобы номер версии менялся не по каждому запуску make.bat, а только при некой заданной опции

тут я не согласен. мне удобнее именно так. в крайнем случае можете руками менять номер сборки, он хранится в файле .\version.spf

спасибо за помощь ! :)

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


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

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


а где он описан этот формат? И список слов без описаний надо тоже иметь под рукой...

имхо, было бы неплохо сделать автомат, который по словам проходится и выдает рыбу для заполнения хелпа...

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


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

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4997
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 20 раз.
Поблагодарили: 58 раз.
WingLion писал(а):
а где он описан этот формат? И список слов без описаний надо тоже иметь под рукой...

список слов генерится при каждой сборке и находится в файле .\names.xrf
сам файл справки называется .\_\doc\glossary.txt и с его форматом, я думаю, вы очень легко разберетесь просто заглянув в него

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

в данном случае оно не нужно (см glossary.txt)

WingLion писал(а):
А сделать опцию наоборот можно? в смысле, чтобы по какому-то специальному ключу батник версию не менял...

я подумаю, хотя вам оно не особо надо, собрать исполнимый файл можно один раз и больше его не делать. Версия exe-шника будет стабильной :)

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


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

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

pp2.fts - \ 19.02.2009 ~mOleg
\ æopyright [C] 2009 mOleg mininoleg@yahoo.com
\ преобразование префиксной (не инфиксной?) записи в постфиксную

запускаем форк

Код:
mOleg kernel fork(mininoleg@yahoo.com). build from SPF4.17 sources.
windows Version 4.09 Build 926 at 01.Nov.2009

fork.ini included

FORTH(0)>samples/pp2.fts

a+b+c+d == a b + c + d +
a+ b+c+d == a b + c + d +
a +b+c+d == a b + c + d +
a + b+c+d == a b + c + d +
(a+b+c)+d == a b + c + d +
a+(b+c)+d == a b c + + d +
a=b+c*d&e == a b c d e AND * + =
a&b*c+d=e == a b AND c * d + e =
a:b+(c*d) == a b c d * + !
[base+index*n]>0 == base index n * + @ 0 >  Ok
FORTH(0)>
Ok
FORTH(0)>expr a + b * ( a * ( c + d ) )
a + b * ( a * ( c + d ) )  == a b a c d + *  Ok
FORTH(0)>

Как видим, собственные тесты код проходит благополучно, а на введенной вручную формуле спотыкается
expr a + b * ( a * ( c + d ) )
a + b * ( a * ( c + d ) ) == a b a c d + * Ok


теряются все операторы за скобками


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

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

да, когда один операнд перед операцией а другой после, то называется это инфиксной, если перед, как в лиспе, то префиксной, а если после, как обычно, то постфиксной.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Дополнения, изменения, ошибки.
СообщениеДобавлено: Вт авг 17, 2010 18:03 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
Если транслируется файл
Код:
Cr_ PARSE
test

Перепрыгивает на другую строку
и дает строку такую же как - s" \rtest"
Надо как то поправить


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Дополнения, изменения, ошибки.
СообщениеДобавлено: Вт авг 17, 2010 19:16 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4997
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 20 раз.
Поблагодарили: 58 раз.
_Harry писал(а):
Перепрыгивает на другую строкуи дает строку такую же как - s" \rtest"Надо как то поправить

достаточно написать
Lf_ PARSE

дело в том, что следующий за PARSE символ (символ разделитель) автоматически пропускается. Это действительно для всех фортов, так что исправлять нечего (правда, отличие будет в том, что текст загружается обычно построчно, в форке же он целиком в памяти). Либо, как вариант, за PARSE оставлять хотя бы пробел ;)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Дополнения, изменения, ошибки.
СообщениеДобавлено: Вт авг 17, 2010 23:55 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
mOleg писал(а):
за PARSE оставлять хотя бы пробел

Ну да а редактор их удалит и правильно сделает 8)
mOleg писал(а):
достаточно написать
Lf_ PARSE
Ну а Cr_ значит самому удалять кстати его может и не быть т.е.
надо еще и проверку делать
:roll: Ну только как обходной вариант пойдет. :roll:
mOleg писал(а):
дело в том, что следующий за PARSE символ (символ разделитель) автоматически пропускается. Это действительно для всех фортов,
А в описании об этом сказано?
Помоему это пример "плохой автоматики"! Почему собственно надо пропускать первый символ?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Дополнения, изменения, ошибки.
СообщениеДобавлено: Ср авг 18, 2010 00:27 
Не в сети

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Дополнения, изменения, ошибки.
СообщениеДобавлено: Ср авг 18, 2010 03:00 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
вопрос писал(а):
Не пойму в чём проблема

mOleg писал(а):
следующий за PARSE символ (символ разделитель) автоматически пропускается.
А его на самом деле нет и поэтому переход на следующую строку
перескакивает т.е. находится на 1 строку позже см. пример выше.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Дополнения, изменения, ошибки.
СообщениеДобавлено: Ср авг 18, 2010 09:58 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4997
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 20 раз.
Поблагодарили: 58 раз.
_Harry писал(а):
А его на самом деле нет и поэтому переход на следующую строкуперескакивает т.е. находится на 1 строку позже см. пример выше.

это не проблема, точнее надуманная проблема. Реально, либо сначала ищется конец строки и потом отдельно "разбирается строка", такие примеры в форке есть, либо после PARSE (либо использующего PARSE слова) находится хотя бы одна лексема.

_Harry писал(а):
mOleg писал(а):за PARSE оставлять хотя бы пробел Ну да а редактор их удалит и правильно сделает

да, это так, можно защищаться от редактирования таким образом ;)

_Harry писал(а):
Ну а Cr_ значит самому удалять кстати его может и не быть т.е.надо еще и проверку делать

удалять не надо ничего. Собственно, я так понимаю, ты хочешь, чтобы у тебя текст типа:

#define bla
#define lala something
не приводил к "побочному эффекту"?
в данном случае можно так:
CharAddr <C C@ Cr_ = IF ." пустая строка" ELSE ." непустая строка" THEN

_Harry писал(а):
А в описании об этом сказано?Помоему это пример "плохой автоматики"! Почему собственно надо пропускать первый символ?

Нет, но я и не видел, чтобы где-нибудь это было описано 8)
Тем не менее замечание правильное, дополнения в доку внесу.
а вообще естественно: ты выбираешь строку до указанного разделителя, после чего, разделитель тебе уже не нужен, возьми тот же пример с ." " ,где
[CHAR] " PARSE
если бы PARSE не пропускало разделительную " , то дальше бы вылазила ошибка.
Вобщем, это не баг - это фича ;)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Дополнения, изменения, ошибки.
СообщениеДобавлено: Ср авг 18, 2010 15:05 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
mOleg писал(а):
Вобщем, это не баг - это фича
Хм ну да все вроде так но какой то неприятный "осадок" от этого остается.

mOleg писал(а):
в данном случае можно так:
CharAddr <C C@ Cr_ = IF ." пустая строка" ELSE ." непустая строка" THEN
Попробую так


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Дополнения, изменения, ошибки.
СообщениеДобавлено: Ср авг 18, 2010 15:23 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4997
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 20 раз.
Поблагодарили: 58 раз.
_Harry писал(а):
Хм ну да все вроде так но какой то неприятный "осадок" от этого остается.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Дополнения, изменения, ошибки.
СообщениеДобавлено: Ср авг 18, 2010 18:04 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
mOleg писал(а):
я лично не могу представить почему у тебя получается обсуждаемая проблема.
Потому что это не форт а Си :evil: (не к ночи будь помянут...)
Код:
#define __name__
#ifdef __name__
...
...
#else
...
...
#endif
Очень распространеная вещь
Просто определяется то или иное имя без соответствующей строки.
и используется для условной компиляции.


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

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


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

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


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

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