Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.etla.org!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: comp.lang.forth Subject: Re: Static Single Assignment form to Stack allocation Date: Tue, 10 Feb 2015 18:44:11 -0500 Organization: Aioe.org NNTP Server Lines: 29 Message-ID: References: <82c4c3dc-7692-4d03-a447-9bdd54ff9387@googlegroups.com> <2015Feb6.142225@mips.complang.tuwien.ac.at> <26b59aed-f1a6-4ccb-90ad-69c36b1abb89@googlegroups.com> NNTP-Posting-Host: n4wpt9zq8xR26Ttf9mo2BA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.forth:36446 On Sun, 08 Feb 2015 13:13:42 -0500, wrote: > On Saturday, February 7, 2015 at 6:35:37 PM UTC-7, Elizabeth D. Rather > wrote: >> The term "control flow stack" was coined in Forth94 to allow it to >> describe the functions of these control structure words without >> *mandating* an implementation using the data stack, although that >> is the most common strategy. > > By allowing the data-stack to be used as the control-flow stack, > ANS-Forth requires programmers to assume that the data-stack is the > control-flow stack in order for their programs to work on all ANS-Forth > systems --- this is effectively the same as mandating that the > data-stack be used as the control-flow stack. > > The standard needs to require that the control-flow stack behave as a > distinct stack (not to have its data intermingled with the user's data > on the data-stack) --- this is necessary for anybody to write a standard > program that assumes that the control-flow stack is distinct. If the standard requires that the control-flow stack behave as a distinct stack, is not allowed to have control-flow interleaved with user data on the data stack, and can not use the return stack because it would break threading, just how would you implement an ITC Forth when neither of the two available stacks could be used temporarily as a control-flow stack? Are you suggesting using a dedicated third stack? ... Rod Pemberton