Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Forth > Re: The ?PAIRS ...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 3 of 7 Topic 4020 of 4173
Post > Topic >>

Re: The ?PAIRS word

by <Montesquiou> Apr 26, 2008 at 10:30 PM

"Jenny Brien" <jennybrien@[EMAIL PROTECTED]
> a écrit dans le message de news: 
b812579f-b339-4c83-b45a-0c17afbb13b4@[EMAIL PROTECTED]
 Apr 26, 8:21 pm, <Montesquiou> wrote:
> Bonjour to all,
>
> In the archive of the group, I found the word "?PAIRS"
> as in
>
> : ENDCASE 4 ?PAIRS COMPILE DROP
> BEGIN SP@[EMAIL PROTECTED]
 CSP @[EMAIL PROTECTED]
 = 0=
> WHILE 2 [COMPILE ENDIF REPEAT
> CSP ! ; IMMEDIATE
>
> According the FAQ, the ?PAIRS word was FIG-Forth's way of implementing a
> small amount of syntax checking.
>
> Is "Number ?PAIRS" similar to ... over <> if (error message) then ...;
>
> Thanks for the help.

Yes, except that you don't need the OVER.

Evidently CASE in this implementation leaves 4 on the stack at compile
time, and IF leaves 2, which is removed by "2 ?PAIRS" in the
definition of ENDIF. CSP is set equal to SP@[EMAIL PROTECTED]
 (the address of the stack
pointer) by : and checked for equality by ; to ensure that control
structures are balanced.

Thank you, now it is clear.
 




 7 Posts in Topic:
The ?PAIRS word
<Montesquiou>   2008-04-26 21:21:52 
Re: The ?PAIRS word
Jenny Brien <jennybrie  2008-04-26 12:55:31 
Re: The ?PAIRS word
<Montesquiou>   2008-04-26 22:30:28 
Re: The ?PAIRS word
Andrew Haley <andrew29  2008-04-27 04:21:28 
Re: The ?PAIRS word
Albert van der Horst <  2008-04-27 11:30:34 
Re: The ?PAIRS word
<Montesquiou>   2008-04-27 17:30:01 
Re: The ?PAIRS word
astrobe <fdubois76@[EM  2008-04-28 04:29:35 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Jul 25 22:19:42 CDT 2008.