All you really need is an open-ended while loop. No recursion is necessary, not even
internal recursion with gosubs. For a "tree" type example:
list = root.item
list.cntr = 1
while (list<1,list.cntr> # '') do
children = list.children
child.ins.cntr = list.cntr
for child.cntr = 1 to num.children
child = children<1,child.cntr>
if (child not already in list) then ;* in case tree is really a graph with circuits
child.ins.cntr = child.ins.cntr + 1
list = ins(list,1,child.ins.cntr,child)
end
next child.cntr
list.cntr = list.cntr + 1
repeat
________________________________
From: [EMAIL PROTECTED] on behalf of Kevin King
Sent: Mon 3/1/2004 9:49 AM
To: U2 Users Discussion List
Subject: RE: [UV] Recursive GOSUB
> The only problem is that internal subroutines do not have local
> variables so
> the second call is using the same variables as its parent. If this is a
> problem, using dynamic arrays to stack the necessary items is quite neat.
>
At the risk of sounding like an ad, there's an article at
http://www.precisonline.com/inner.html discussing the concept of "inner
recursion", that is, recursing inside of a single program.
--Kevin
[EMAIL PROTECTED]
http://www.PrecisOnline.com
--
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users
Our company accepts no liability for the content of this email, or for the
consequences of any actions taken on the basis of the information
provided, unless that information is subsequently confirmed in writing.
Any views or opinions presented in this email are solely those of the
author and do not necessarily represent those of the company.
WARNING: Computer viruses can be transmitted via email.
The recipient should check this email and any attachments for the
presence of viruses. The company accepts no liability for any damage
caused by any virus transmitted by this email.
11/29/2003 ACE Software, LLC
--
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users