ошибка компилятора

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

ошибка компилятора

Dmitry Yakimov-2
Привет,

: USE-COM-EVENTS
"
CREATE HooksTable
HERE CELL+ , \ last entry pointer
0 , \ link
0 , \ code
0 , \ cfa
" STR@ EVALUATE
;


USE-COM-EVENTS

: test DUP ;
HooksTable @ @
[IF] .( bug!!! )
[THEN] BYE



test затирает нули записанные USE-COM-EVENTS

Dmitry Yakimov.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: ошибка компилятора

Ruvim Pinka
On 10/25/07, Dmitry Yakimov <[hidden email]> wrote:

: USE-COM-EVENTS
"
CREATE HooksTable
HERE CELL+ , \ last entry pointer
0 , \ link
0 , \ code
0 , \ cfa
" STR@ EVALUATE
;
[...]
test затирает нули записанные USE-COM-EVENTS

Нет. Просто, эти нули не записываются, т.к. комментарий работает до конца чанка (а не до символа конца строки), а в случае EVALUATE весь поданный текст в одном чанке.

Будет работать как ожидалось, если вначале дать определение
: \  ( -- ) 0x0A PARSE 2DROP ; IMMEDIATE

--
Ruvim
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: ошибка компилятора

Dmitry Yakimov-2
А, точно забыл про комментарий.
Кстати в стандарте написано:

  If BLK contains zero, parse and discard the remainder of the parse area;
  otherwise parse and discard the portion of the parse area corresponding
  to the remainder of the current line.

Есть у кого информация о многострочности evaluate?
Получается что определение : \  ( -- ) 0x0A PARSE 2DROP ; IMMEDIATE не
противоречит стандарту и его можно сделать by default.

Ruvim Pinka wrote:

> On 10/25/07, *Dmitry Yakimov* <[hidden email] <mailto:[hidden email]>>
> wrote:
>
>
>     : USE-COM-EVENTS
>     "
>     CREATE HooksTable
>     HERE CELL+ , \ last entry pointer
>     0 , \ link
>     0 , \ code
>     0 , \ cfa
>     " STR@ EVALUATE
>     ;
>
> [...]
>
>     test затирает нули записанные USE-COM-EVENTS
>
>
> Нет. Просто, эти нули не записываются, т.к. комментарий работает до
> конца чанка (а не до символа конца строки), а в случае EVALUATE весь
> поданный текст в одном чанке.
>
> Будет работать как ожидалось, если вначале дать определение
> : \  ( -- ) 0x0A PARSE 2DROP ; IMMEDIATE
>
> --
> Ruvim

Дмитрий.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: ошибка компилятора

Ruvim Pinka
On 10/25/07, Dmitry Yakimov <[hidden email]> wrote:
А, точно забыл про комментарий.
Кстати в стандарте написано:

  If BLK contains zero, parse and discard the remainder of the parse area;
  otherwise parse and discard the portion of the parse area corresponding
  to the remainder of the current line.

Есть у кого информация о многострочности evaluate?
Получается что определение : \  ( -- ) 0x0A PARSE 2DROP ; IMMEDIATE не
противоречит стандарту и его можно сделать by default.

У нас BLK содержит 0, поэтому, по стандарту, надо пропускать всю оставшуюся часть.
Должно быть, если BLK не 0, то в буфере весь блок в 1Кб, и там нужно пропускать только остаток строки.

Было бы не плохо предложить в c.l.f. на обсуждение, допустима ли такая реализация.

--
Ruvim
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: ошибка компилятора

Dmitry Yakimov-2
Ruvim Pinka wrote:

> On 10/25/07, *Dmitry Yakimov* <[hidden email] <mailto:[hidden email]>>
> wrote:
>
>     А, точно забыл про комментарий.
>     Кстати в стандарте написано:
>
>       If BLK contains zero, parse and discard the remainder of the
>     parse area;
>       otherwise parse and discard the portion of the parse area
>     corresponding
>       to the remainder of the current line.
>
>     Есть у кого информация о многострочности evaluate?
>     Получается что определение : \  ( -- ) 0x0A PARSE 2DROP ; IMMEDIATE не
>     противоречит стандарту и его можно сделать by default.
>
>
> У нас BLK содержит 0, поэтому, по стандарту, надо пропускать всю
> оставшуюся часть.
> Должно быть, если BLK не 0, то в буфере весь блок в 1Кб, и там нужно
> пропускать только остаток строки.
Логично было бы пропускать строку во всех случаях. Интересно чем они
руководствовались?

>
> Было бы не плохо предложить в c.l.f. на обсуждение, допустима ли такая
> реализация.

Дмитрий.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev