((

4 Messages Forum Options Options
Embed this topic
Permalink
ygrek-3
((
Reply Threaded MoreMore options
Print post
Permalink
Привет,

 api вызовы в spf/linux можно делать так
 (( H-STDOUT S" Hello world" )) write DROP
 (( запоминает стек, )) парсит имя функции и вызывает
 Проблема в том что (( сохраняет SP@ в переменную, т.е. слово (( нельзя вызывать рекурсивно.
 Пример
: w (( H-STDOUT S" www" )) write DROP ;
w (( H-STDOUT S" qqq"  )) write DROP
(( H-STDOUT w S" qqq"  )) write DROP
Не напечатает
wwwqqq
wwwqqq
 
Это фича или бага?
Я столкнулся с этим при использовании lib/ext/const.f внутри (( )),
вложенный вызов получается спрятан глубоко в цепочке NOTFOUND.
Я бы предпочёл исправить это, только не знаю как.. Дополнительный стек нужен.

--
 ~ygrek


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Spf-dev mailing list
Spf-dev@...
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (204 bytes) Download Attachment
ygrek-3
Re: ((
Reply Threaded MoreMore options
Print post
Permalink
On Sat, 26 Jul 2008 22:14:04 +0300
ygrek <ygrek@...> wrote:

> Я бы предпочёл исправить это, только не знаю как.. Дополнительный стек нужен.

Юрий предложил сохранять связную цепочку состояний SP@ на R-стеке. Но
иргда нельзя будет передавать параметры через R-стек внутрь (( )) что
сейчас делается во многих местах. Думаю в ядре оставить и
задокументировать текущее поведение, а в отдельную либу вынести решение
с дополнительным стеком.

--
 ~ygrek


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Spf-dev mailing list
Spf-dev@...
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (204 bytes) Download Attachment
Andrey Cherezov
Re: ((
Reply Threaded MoreMore options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
Добрый день, ygrek!

Ваше сообщение от 01.08.2008 22:44:
Я бы предпочёл исправить это, только не знаю как.. Дополнительный стек нужен.
    
Юрий предложил сохранять связную цепочку состояний SP@ на R-стеке. Но
иргда нельзя будет передавать параметры через R-стек внутрь (( )) что
сейчас делается во многих местах.
Это наверное можно обойти тем же способом, что и использование локалсов внутри DO..LOOP.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Spf-dev mailing list
Spf-dev@...
https://lists.sourceforge.net/lists/listinfo/spf-dev
ygrek-3
Re: ((
Reply Threaded MoreMore options
Print post
Permalink
On Sun, 03 Aug 2008 01:02:34 +0300
Andrey Cherezov <andrey@...> wrote:

> > Юрий предложил сохранять связную цепочку состояний SP@ на R-стеке. Но
> > иргда нельзя будет передавать параметры через R-стек внутрь (( )) что
> > сейчас делается во многих местах.
> Это наверное можно обойти тем же способом, что и использование локалсов
> внутри DO..LOOP.
 
Слишком сложно. Получается разрыв на R-стеке и слова R> >R должны
писать/читать то выше этого разрыва, то ниже. Проще с отдельным стеком
(~ygrek/lib/linux/ffi.f).

--
 ~ygrek


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Spf-dev mailing list
Spf-dev@...
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (204 bytes) Download Attachment