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 Mac > Re: RfD - Enhan...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 2 of 25 Topic 123 of 158
Post > Topic >>

Re: RfD - Enhanced local variable syntax (long)

by transfire@[EMAIL PROTECTED] Aug 20, 2006 at 02:32 PM

Stephen Pelc wrote:
> At long last I've started on my Forth200x tasks. Here's the first
> cut of the enhanced local variables using the { ... } notation.
>
> Stephen
>
> RfD - Enhanced local variable syntax
> ====================================
> Stephen Pelc - 20 August 2006
>
> Problem
> =======
> 1) The current LOCALS| ... | notation explicitly forces all locals
> to be initialised from the data stack.
> 2) 1) The current LOCALS| ... | notation defines locals in reverse
> order to the normal stack notation.
> 3) When programming large applications, especially those interfacing
> with a host operating system, there is a frequent need for tem****ary
> buffers.
> 4) Current implementations show that creation and destruction of
> local buffers are much faster than using ALLOCATE (14.6.1.0707)
> and FREE (14.6.1.1605).
>
> Solution
> ========
> Base version
> ------------
> The following syntax for local arguments and local variables is
> proposed. The sequence:
>   { ni1 ni2 ... | lv1 lv2 ... -- o1 o2 }
> defines local arguments, local variables, and outputs. The local
> arguments are automatically initialised from the data stack on
> entry, the rightmost being taken from the top of the data stack.
> Local arguments and local variables can be referenced by name within
> the word during compilation. The output names are dummies to allow
> a complete stack comment to be generated.
>   The items between { and | are local arguments.
>   The items between | and -- are local variables or buffers.
>   The items between -- and } are outputs.

[snip]

Intersting. I've been slowly working on a Forth-based lanaguage in
which I aquire local variables using slightly different notation. To
reuse your example, essentially:

 : foo
   'b 'a
   a' b' + 'a+b
   a' b' * 'a*b
   cr a+b' .  a*b' .
 ;

Such that 'var pops the value off the stack and stores it. And var'
puts the value (or actually a reference to the value) back onto the
stack. Yes, the initial stores are backward but I don;t find that too
problematic.

I have not consider the treatment of fixed sized buffers however.

~Trans.

P.S. I am still relatively new to Forth.
 




 25 Posts in Topic:
RfD - Enhanced local variable syntax (long)
stephenXXX@[EMAIL PROTECT  2006-08-20 20:53:03 
Re: RfD - Enhanced local variable syntax (long)
transfire@[EMAIL PROTECTE  2006-08-20 14:32:47 
Re: RfD - Enhanced local variable syntax (long)
Andreas Kochenburger <  2006-08-21 09:03:46 
Re: RfD - Enhanced local variable syntax (long)
stephenXXX@[EMAIL PROTECT  2006-08-21 11:14:20 
Re: RfD - Enhanced local variable syntax (long)
Andreas Kochenburger <  2006-08-22 08:48:21 
Re: RfD - Enhanced local variable syntax (long)
stephenXXX@[EMAIL PROTECT  2006-08-22 09:07:26 
Re: RfD - Enhanced local variable syntax (long)
"dbu" <dirk@  2006-08-21 01:21:46 
Re: RfD - Enhanced local variable syntax (long)
"Alex McDonald"  2006-08-21 01:28:44 
Re: RfD - Enhanced local variable syntax (long)
"GerryJ" <ge  2006-08-21 06:24:38 
Re: RfD - Enhanced local variable syntax (long)
stephenXXX@[EMAIL PROTECT  2006-08-21 14:20:55 
Re: RfD - Enhanced local variable syntax (long)
Coos Haak <chforth@[EM  2006-08-21 19:30:43 
Re: RfD - Enhanced local variable syntax (long)
"jacko" <jac  2006-08-21 07:58:59 
Re: RfD - Enhanced local variable syntax (long)
"GerryJ" <ge  2006-08-21 14:45:13 
Re: RfD - Enhanced local variable syntax (long)
"Alex McDonald"  2006-08-21 16:04:53 
Re: RfD - Enhanced local variable syntax (long)
stephenXXX@[EMAIL PROTECT  2006-08-22 09:42:48 
Re: RfD - Enhanced local variable syntax (long)
anton@[EMAIL PROTECTED]   2006-08-23 20:35:55 
Re: RfD - Enhanced local variable syntax (long)
Andreas Kochenburger <  2006-08-22 12:21:17 
Re: RfD - Enhanced local variable syntax (long)
Bernd Paysan <bernd.pa  2006-08-20 23:31:42 
Re: RfD - Enhanced local variable syntax (long)
"Alex McDonald"  2006-08-22 05:36:37 
Re: RfD - Enhanced local variable syntax (long)
"J Thomas" <  2006-08-22 06:26:48 
Re: RfD - Enhanced local variable syntax (long)
anton@[EMAIL PROTECTED]   2006-08-23 20:48:39 
Re: RfD - Enhanced local variable syntax (long)
anton@[EMAIL PROTECTED]   2006-08-23 20:58:22 
Re: RfD - Enhanced local variable syntax (long)
"Doug Hoffman"   2006-08-23 17:16:41 
Re: RfD - Enhanced local variable syntax (long)
stephenXXX@[EMAIL PROTECT  2006-08-24 10:44:12 
Re: RfD - Enhanced local variable syntax (long)
dhoffman@[EMAIL PROTECTED  2006-08-25 03:06:44 

Post A Reply:
  Go here to Signup

AddThis Feed Button


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

Contact
tan12V112 Wed Jul 9 5:58:15 CDT 2008.