Article View: alt.lang.intercal
Article #37Re: C-INTERCAL Version 0.6 available
From: Jan Hendrikx
Date: Thu, 10 Jan 1991 14:12
Date: Thu, 10 Jan 1991 14:12
47 lines
2687 bytes
2687 bytes
It looks like some people have misread the manual (that is, interpreted
it differently than I did :-). Therefore, I'll quote a bit more and
give line-by-line comments on the example I supplied.
The manual says about ABSTAIN:
This statement takes on one of two forms. It may not
take on both at any one time. DO ABSTAIN FROM (label)
causes the statement whose logical line label is (label) to
be abstained from. PLEASE ABSTAIN FROM gerund list causes
all statements of the specified type(s) to be abstained
from, as in [deleted]
As you can see, a STATEMENT can be abstained from, NOT an OPERATION
(as indicated by the gerund list). Therefore, ABSTAIN FROM gerund
is equivalent to ABSTAIN FROM (label) for each statement that
consists of the specified operation.
[The second sentence (It may not take on both at any one time)
is just humorous because one statement CAN be only one form at a
time, disallowing this is just funny. It cannot mean that you
can use only one of the forms in the entire program, because
such a drastic claim would have been more explicit, and is
inconsistent with the text on REINSTATE]
And this about REINSTATE:
REINSTATEment nullifies the effects of an abstention.
Either form of REINSTATEment can be used to "free" a
statement, regardless of whether the statement was abstained
from by gerund list, line label, or NOT.
This confirms my "abbreviation" interpretation above.
Now the example again:
DO ABSTAIN FROM (52)
This line is irrelevant here.. it abstains from (52).
DO ABSTAIN FROM NEXTING (this line added by me)
This abstains from all lines with NEXT.. here that is only (52).
DO REINSTATE (52)
This reinstates (52) and therefore undoes the previous two
abstentions. Any other statements with NEXT are not affected.
(52) DO (123) NEXT
This should now be executed normally.
DO ERROR: LABEL REINSTATING NOT WORKING
and therefore control should not reach this statement.
Oh, look at me... I only got the manual a few days ago and now I am
already in a violent argument about its interpretation ;-)
Technical Details
Message-ID:
<2613@wn1.sci.kun.nl>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!cs.utexas.edu!uunet!mcsun!hp4nl!sci.kun.nl!wn3.sci.kun.nl!janhenReferences:
<11491@ur-cc.UUCP> <2609@wn1.sci.kun.nl>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!cs.utexas.edu!uunet!mcsun!hp4nl!sci.kun.nl!wn3.sci.kun.nl!janhen From: janhen@wn3.sci.kun.nl (Jan Hendrikx) Newsgroups: alt.lang.intercal,comp.lang.misc Subject: Re: C-INTERCAL Version 0.6 available Keywords: INTERCAL ftp Message-ID: <2613@wn1.sci.kun.nl> Date: 10 Jan 91 14:12:03 GMT References: <11491@ur-cc.UUCP> <2609@wn1.sci.kun.nl> Sender: root@sci.kun.nl Followup-To: alt.lang.intercal Organization: University of Nijmegen, The Netherlands. Lines: 47